【并集查询】.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 系列
相关推荐
我们的五年33 分钟前
MySQL 架构
数据库·mysql·开源
CCF ODC2 小时前
2025年第一期 | CCF ODC《开源战略动态月报》
开源
從南走到北2 小时前
挪车小程序挪车二维码php+uniapp
微信小程序·小程序·开源·微信公众平台
ObjectX前端实验室6 小时前
个人网站开发记录-引流公众号 & 谷歌分析 & 谷歌广告 & GTM
前端·程序员·开源
silianpan7 小时前
文档检索服务平台
elasticsearch·搜索引擎·开源
code_shenbing12 小时前
.NET MVC实现电影票管理
mvc·.net
shepherd枸杞泡茶16 小时前
第3章 3.3日志 .NET Core日志 NLog使用教程
c#·asp.net·.net·.netcore
uhakadotcom18 小时前
如何为开源项目做贡献
前端·开源
小白狮ww1 天前
国产超强开源大语言模型 DeepSeek-R1-70B 一键部署教程
人工智能·深度学习·机器学习·语言模型·自然语言处理·开源·deepseek
时光追逐者1 天前
推荐几款开源免费的 .NET MAUI 组件库
microsoft·开源·c#·.net·.net core·maui