当前位置: 首页 > news >正文

SQLAlchemy的子查询subquery()

subquery() 是 SQLAlchemy 提供的一种查询方式,允许你在主查询中嵌入子查询。它允许我们执行更复杂的查询,例如在主查询中使用嵌套的查询结果,进行多层次的筛选、聚合或者关联操作。

1. 子查询(Subquery)概述

子查询是一个嵌套的查询,它作为一个临时的结果集参与到主查询中。
子查询常用于:

  • 在主查询中使用复杂的筛选条件
  • 执行聚合操作,并在主查询中引用
  • 提高查询性能(尤其在需要多次查询同一个数据时)

2. 基本语法和使用

子查询的基本语法是通过构建一个子查询对象,并将其作为主查询的一部分来使用

  • 子查询返回的列可以使用 .c 来访问,就像普通的 SQLAlchemy 查询对象一样
  • 可以为子查询中的列指定别名,以便在主查询中清晰地引用

demo.py

在这里插入图片描述

SELECT 
admin_report.admin_report_uuid, 
admin_report.admin_report_title, 
admin_report.admin_report_theme_id, 
admin_report.admin_report_link, 
admin_report.create_time, 
admin_report.update_time, 
admin_report.admin_report_type_id, 
admin_report.admin_report_id, 
admin_report.is_download, 
anon_1.department_list
FROM admin_report 
JOIN admin_theme ON admin_theme.admin_theme_id = admin_report.admin_report_theme_id 
JOIN (SELECT admin_report_department_r.admin_report_id AS admin_report_id, string_agg(CAST(admin_report_department_r.department_id AS VARCHAR), ',') AS department_list
FROM admin_report_department_r
WHERE admin_report_department_r.del_flag = 0 GROUP BY admin_report_department_r.admin_report_id) AS anon_1 ON anon_1.admin_report_id = admin_report.admin_report_id
WHERE admin_report.create_time >= '2024-06-08T16:00:00.000Z' AND admin_report.create_time <= '2025-06-09T15:59:59.999Z' ORDER BY admin_report.create_time DESC

在这里插入图片描述

http://www.xdnf.cn/news/954289.html

相关文章:

  • 日本本社企业直招|Java /cobol/C#/PM/PL/Salesforce/AWS/SAP 等,正社员/個人事業主,高度人才+20 分
  • Spring状态机
  • 苍穹外卖-day02
  • 机器人模仿学习调研(二)
  • MySQL 8.0 OCP 英文题库解析(十三)
  • Java求职者面试指南:Spring、Spring Boot、Spring MVC与MyBatis技术解析
  • fpga系列 HDL : Microchip FlashPro 导出与烧录FPGA
  • 6.9本日总结
  • 网络安全A模块专项练习任务六解析
  • python打卡day49@浙大疏锦行
  • 欢乐熊大话蓝牙知识17:多连接 BLE 怎么设计服务不会乱?分层思维来救场!
  • C#中用于控制自定义特性(Attribute)
  • 【Dify】基于 Agent 实现热门新闻生成助手
  • 【教程】矩形重叠检测 -- 分离轴定理的应用
  • Vue 插槽(Slot)用法详解
  • UFW防火墙安全指南
  • 【算法-BFS实现FloodFill算法】使用BFS实现FloodFill算法:高效识别连通块并进行图像填充
  • 时间复杂度和算法选择
  • WinUI3开发_使用mica效果
  • vitepress添加图片放大功能
  • 基于2.4G功能的使用
  • encodeURIComponent和decodeURIComponent
  • 21-Oracle 23 ai-Automatic SQL Plan Management(SPM)
  • 多元隐函数 偏导公式法 (显示变化 + 隐式变化)
  • ABAP设计模式之---“Tell, Don’t Ask原则”
  • STL 1 容器
  • 基于生态系统服务(InVEST模型)的人类活动、重大工程生态成效评估、论文写作
  • 12.找到字符串中所有字母异位词
  • Oracle查询表空间大小
  • vue的<router-link>的to里面的query和params的区别