毫不相关的两个表联立查询

在开发项目时遇到需要在两个不相干的表中按条件查询需要的数据
这里就是一个是产品表一个是文章表
他们之间没有任何关系
问题就要出来了 我们应该如何可以部分两次查询数据库一次性把数据拿到为下面就是结局办法:
直接上代码:

SELECT * FROM sys_product A LEFT JOIN sys_essay B ON A.id = B.id
union
SELECT * FROM sys_product A RIGHT JOIN sys_essay B ON A.id = B.id

这种是直接把后边那个查询的结果的列硬加在前面那个表的后面
效果如下
在这里插入图片描述
看着不是很美 其实还有一种更好看的效果
直接上代码

SELECT A.id as id, A.product_name as name FROM sys_product A 
union ALL
SELECT B.id as id, B.title as name FROM sys_essay B  

这样的话就是把后面查询到的结果直接拼接到第一个查询语句所查询结果的后面
效果图如下:
在这里插入图片描述
自然都看到这里了先别急着离开!!!
还有可以更简单点(个人不建议,因为你这样写后来者不容易看得懂)

SELECT A.id as id, A.product_name as name FROM sys_product A 
union ALL
SELECT B.id, B.title FROM sys_essay B  

就是后面那个起别名的的过程可以的省略
效果也是一样的

关于这种方法是否可以节省时间,减少数据库的压力还没经过实践证实,后期实践了再来更新!
细心的小伙伴都发现了 我后一个联合查询用的union多一个all如果不带这个all的话union是默认去重的,加上后我就不废话了!
本篇博客结束了如果有帮到你的点还请留下一颗小爱心
下一个bug见 !!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在SQL Server中,可以使用JOIN关键字来进行两个联立查询。例如,如果有两个table1和table2,并且它们之间有一个关联字段field1,可以使用以下语句进行联立查询: SELECT * FROM table1 JOIN table2 ON table1.field1 = table2.field1; 这将返回两个关联字段匹配的所有行。如果某行在左中没有匹配到右中的行,则结果中对应行右的部分将全部为空(NULL);如果某行在右中没有匹配到左中的行,则结果中对应行左的部分将全部为空(NULL)。这种联立查询被称为完全外连接\[2\]。 在联立查询的结果中,可以选择需要的列进行显示。例如,如果想要显示row、a.id、b.ProjectName等列,可以在SELECT语句中指定这些列的名称\[3\]。 #### 引用[.reference_title] - *1* [sql怎么两个关联查询](https://blog.csdn.net/weixin_42590539/article/details/129570171)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [SQL server多联合查询](https://blog.csdn.net/zou15093087438/article/details/79226394)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [SQL server2008 多联合查询,分页显示结果](https://blog.csdn.net/Annn_kk/article/details/70207830)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值