SQL——minus、union 、interspect


 

 

 

 

minus、union 、interspect

 

 

minus和not in的区别

minus是求差集,可以寻找左边表存在右边表不存在的数据,即左边表减去两表的交集。

 

minus可以实现not in(使用not in注意空值)的所有功能,

例:

select * from sysdba.origin_table o where  o.id   not in (select id from sysdba.destination_table);

(select id from SYSDBA.ORIGIN_TABLE ) minus (select id from SYSDBA.DESTINATION_TABLE);

但是多了一个功能即寻找所有字段的差集

(select * from SYSDBA.ORIGIN_TABLE ) minus (select * from SYSDBA.DESTINATION_TABLE);

假设有这两张表

 

select * from sysdba.origin_table o where o.id not in (select id from sysdba.destination_table);

 

多出来的功能:所有字段的比对:

(select * from SYSDBA.ORIGIN_TABLE ) minus (select * from SYSDBA.DESTINATION_TABLE);

其实想想也容易明白,一个叫差集,偏重于集合即所有字段的数据,那么交集和in关键字也是一样的道理。

 

为什么不建议使用外键?

https://zhuanlan.zhihu.com/p/62020571

 

posted @   Eric-Shen  阅读(581)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示