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把匹配上的記錄 放到臨時表 ,展示出來

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM