sql中exists,not exists的用法

 

https://www.cnblogs.com/flzs/p/11542181.html

 

https://www.cnblogs.com/min525/p/15106944.html

 

EXISTS = IN,意思相同不过语法上有点点区别   A EXITST B ,  A表符合条件的数据, 在B表存在

NOT EXISTS = NOT IN ,意思相同不过语法上有点点区别      A NOT EXITST B ,  A表符合条件的数据, 在B表不存在

 

EXISTS 先在主表中取出要的结果,然后去后面循环检查是否  存在或者不存在

 

exists ( 返回结果集 , 为真)

not exists (不返回结果集, 为真)

 

SELECT  e.*  FROM  emp e where EXISTS (SELECT d.*  FROM dept d WHERE d._no = 'd002'  AND e.d_id  = d.id)

1.  先把exists前的查询语句 的结果集A查询出来

2.  再把 exists子查询 的结果集B查询出来

3.  根据 关联条件 e.id = d.id ,遍历结果集A 和 B ,  找匹配的记录,f把匹配上的记录 放到临时表 ,展示出来

 

posted @   Avicii_2018  阅读(793)  评论(0编辑  收藏  举报
(评论功能已被禁用)
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示