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