【并集查询】.NET开源 ORM 框架 SqlSugar 系列

.NET开源 ORM 框架 SqlSugar 系列

  1. 【开篇】.NET开源 ORM 框架 SqlSugar 系列
  2. 【入门必看】.NET开源 ORM 框架 SqlSugar 系列
  3. 【实体配置】.NET开源 ORM 框架 SqlSugar 系列
  4. 【Db First】.NET开源 ORM 框架 SqlSugar 系列
  5. 【Code First】.NET开源 ORM 框架 SqlSugar 系列
  6. 【数据事务】.NET开源 ORM 框架 SqlSugar 系列
  7. 【连接池】.NET开源 ORM 框架 SqlSugar 系列
  8. 【查询目录】.NET开源 ORM 框架 SqlSugar 系列
  9. 【查询基础】.NET开源 ORM 框架 SqlSugar 系列
  10. 【排序用法】.NET开源 ORM 框架 SqlSugar 系列
  11. 【分组去重】.NET开源 ORM 框架 SqlSugar 系列
  12. 【联表查询】.NET开源 ORM 框架 SqlSugar 系列
  13. 【导航查询】.NET开源 ORM 框架 SqlSugar 系列
  14. 【子查询】.NET开源 ORM 框架 SqlSugar 系列
  15. 【嵌套查询】.NET开源 ORM 框架 SqlSugar 系列
  16. 【配置查询】.NET开源 ORM 框架 SqlSugar 系列


🎯每个查询语句都有其对应的结果集,我们可以将多个查询语句的结果集合并起来,这可以称为并集查询

一、实体方式

📌使用实体类方式,要保证生成的 Select 中的 列要一致 ,用Select 一定要 new Class 或者 ((object)new {} 写法 保证返回类型是 引用类型 。

cs 复制代码
 var q1 = db.Queryable<Student>().Select(it=>new Model{ name=it.Name }); //select结构要一样
 var q2 = db.Queryable<School>().Select(it => new Model { name = it.Name });
 var list = db.UnionAll(q1, q2).ToList();

🪧生成的Sql如下:

cs 复制代码
SELECT * FROM  (SELECT  [Name] AS [name]  FROM [STudent]  UNION ALL
SELECT  [Name] AS [name]  FROM [School] ) unionTable

二、匿名对象方式

📌 SqlSugarCore 5.1.4.147-preview14 及以下版本 要加一个 object 的转换。

cs 复制代码
//SqlSugarCore 5.1.4.147-preview14 及以上 完美支持匿名对象 请升级
var q1 = db.Queryable<Order>().Select(it => new { id=it.Id });//select结构要一样
var q2 = db.Queryable<Order>().Select(it =>new { id = it.Id });
db.UnionAll(q1, q2).ToList();
 
//SqlSugarCore 5.1.4.147-preview14 及以下
var q1 = db.Queryable<Order>().Select(it => (object)new { id=it.Id });
var q2 = db.Queryable<Order>().Select(it =>(object) new { id = it.Id });
db.UnionAll(q1, q2).Select<Order>().ToList();

三、单字段

cs 复制代码
var q1 = db.Queryable<Order>().Where(it=>it.id>10).Select(it =>(object) it.Name);
var q2 = db.Queryable<Order>().Where(it=>it.id==2).Select(it => (object) it.Name);
var kust = db.UnionAll(q1, q2)
.Select<string>().ToList();

四、跨库

cs 复制代码
var q1 = db.Queryable<UnitNClobTest>().AsWithAttr();//转换表名 具体用法看跨库查询 AS 出来的表名规则一样的
var q2 = db.Queryable<UnitNClobTest>().AsWithAttr();
db.UnionAll(q1, q2).ToList();

五、MySql Limit Union all

升级最新版本

💦万丈高楼平地起,做开发想要技术精进,必须要有扎实的基础功底。基础SQL查询语法一定要牢记于心,才能应对后面更为复杂的形势。

.NET开源 ORM 框架 SqlSugar 系列

  1. 【开篇】.NET开源 ORM 框架 SqlSugar 系列
  2. 【入门必看】.NET开源 ORM 框架 SqlSugar 系列
  3. 【实体配置】.NET开源 ORM 框架 SqlSugar 系列
  4. 【Db First】.NET开源 ORM 框架 SqlSugar 系列
  5. 【Code First】.NET开源 ORM 框架 SqlSugar 系列
  6. 【数据事务】.NET开源 ORM 框架 SqlSugar 系列
  7. 【连接池】.NET开源 ORM 框架 SqlSugar 系列
  8. 【查询目录】.NET开源 ORM 框架 SqlSugar 系列
  9. 【查询基础】.NET开源 ORM 框架 SqlSugar 系列
  10. 【排序用法】.NET开源 ORM 框架 SqlSugar 系列
  11. 【分组去重】.NET开源 ORM 框架 SqlSugar 系列
  12. 【联表查询】.NET开源 ORM 框架 SqlSugar 系列
  13. 【导航查询】.NET开源 ORM 框架 SqlSugar 系列
  14. 【子查询】.NET开源 ORM 框架 SqlSugar 系列
  15. 【嵌套查询】.NET开源 ORM 框架 SqlSugar 系列
  16. 【配置查询】.NET开源 ORM 框架 SqlSugar 系列
相关推荐
我是唐青枫1 小时前
C#.NET ValueTaskSource 深入解析:零分配异步、ManualResetValueTaskSourceCore 与使用边界
c#·.net
AIoT科技物语2 小时前
免费开源!50+算法,Java基于YOLO框架的视频AI识别算法平台,适配低空无人机巡检、摄像头安防场景
java·人工智能·算法·yolo·开源
做个文艺程序员3 小时前
Claude Skill 进阶:多文件结构、脚本集成与触发优化
人工智能·python·开源
国产化创客4 小时前
RuView开源项目Docker+ESP32完整部署手册
物联网·docker·容器·开源·信息与通信·智能硬件·wifi-csi
乐园游梦记4 小时前
工业检测场景下自监督与无监督开源方案OpenMMLab+PatchCore 与其他方案对比分析
人工智能·深度学习·机器学习·开源
SL-staff4 小时前
2026企业文档选型白皮书:功能、技术栈、私有化部署与采购建议
spring cloud·docker·微服务·kubernetes·开源·私有化部署·企业文档
oioihoii4 小时前
Token成本失控?两大开源方案如何重构AI编程成本结构
重构·开源·ai编程
RFCEO4 小时前
从零到壹嵌入式Linux编程实战教程课:第1课:嵌入式Linux概述
开源·嵌入式linux编程实战·从零到壹嵌入式linux编程·可裁剪、可移植
OctShop大型商城源码5 小时前
IM在线咨询系统源码:OctIM开源通讯系统深度剖析
开源·在线咨询系统·开源通讯系统·im在线客服系统
DisonTangor5 小时前
【阿里拥抱开源】千问开源Qwen3.6-35B-A3B,并配上调参参考
人工智能·阿里云·开源·aigc