操作多个表_4_查询不再另外一个表里的记录
生活随笔
收集整理的這篇文章主要介紹了
操作多个表_4_查询不再另外一个表里的记录
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
? ? ? ? ? ? ? ? ? ? ? ? ?從一個表中查詢另外一個表里沒有的值
需求描述
需求:查詢部門表雇員表里的部門編號,即未分配員工的部門。
解決方法:這里需要用到minus關(guān)鍵字,當然部分數(shù)據(jù)庫不支持,我們可以通過not exists關(guān)鍵詞解決。
注: 數(shù)據(jù)庫數(shù)據(jù)集SQL腳本詳見如下鏈接地址
員工表結(jié)構(gòu)和數(shù)據(jù)初始化SQL腳本
SQL代碼
-- Oracle: SELECT deptno FROM dept minus SELECT deptno FROM emp-- Sql server: SELECT deptno FROM dept EXCEPT SELECT deptno FROM emp-- Mysql、Sql server、Oracle: SELECT deptno FROM dept WHERE deptno NOT IN (SELECT deptno FROM emp)-- 或者: SELECT dept.deptno FROM dept LEFT JOIN emp ON emp.deptno = dept.deptno WHERE emp.deptno IS NULL執(zhí)行結(jié)果
延展閱讀
SELECT dept.deptno,emp.deptno FROM dept LEFT JOIN emp ON emp.deptno = dept.deptno -- WHERE emp.deptno IS NULL注:這里dept表里的deptno40并沒有在emp表里關(guān)聯(lián)到,所以更加left join的特性,emp_deptno這列為null,所以我們加個WHERE emp.deptno IS NULL即可取出該條記錄。
總結(jié)
以上是生活随笔為你收集整理的操作多个表_4_查询不再另外一个表里的记录的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 中信银行是属于私企还是国企
- 下一篇: 操作多个表_5_记录匹配不上