【并集查询】.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 系列
相关推荐
VI8664956I2615 小时前
企业级AI革命!私有化部署开源大模型:数据安全+自主可控,打造专属智能引擎
人工智能·开源
水煮蛋不加蛋15 小时前
AutoGen 框架解析:微软开源的多人 Agent 协作新范式
人工智能·microsoft·ai·开源·大模型·llm·agent
是代码侠呀15 小时前
HTTP 的发展史:从前端视角看网络协议的演进
前端·网络协议·http·开源·github·github star·github 加星
白泽来了16 小时前
字节大模型应用开发框架 Eino 全解(一)|结合 RAG 知识库案例分析框架生态
开源·go·大模型应用开发
说私域19 小时前
基于定制开发开源AI智能名片S2B2C商城小程序的公私域流量融合运营策略研究
人工智能·小程序·开源·零售
是代码侠呀21 小时前
让Promise飞,让github star 飞
python·开源·github·github star·github 加星
DisonTangor1 天前
【字节拥抱开源】字节豆包团队开源首发 Seed-Coder 大模型
人工智能·开源·aigc
七灵微1 天前
【许可证】Open Source Licenses
开源
界面开发小八哥1 天前
界面控件DevExpress WinForms v25.1新功能预览 - 功能区组件全新升级
人工智能·.net·界面控件·winform·devexpress
zhz52141 天前
开源数字人框架 AWESOME-DIGITAL-HUMAN 技术解析与应用指南
人工智能·ai·机器人·开源·ai编程·ai数字人·智能体