實驗環境如下兩表:
employee表
salary 表
SELECT * FROM employee
where employee_id IN (SELECT employee_id FROM salary where salary>3000)
上述語句子查詢有5個結果
SELECT employee_id FROM salary where salary>3000
在使用IN時會自動去除這5個值中的重複值得到不重複的3個ID 最終傳回3行資料
NOT IN關鍵字是對IN進行求反
- a IN (a,b,c) 等價于 a=a OR a=b OR a=c
- a NOT IN(a,b,c) 等價于 a<>a AND a<>b AND a<>c
SELECT * FROM employee
where employee_id NOT IN (SELECT employee_id FROM salary where salary>3000)
上述語句子查詢有5個結果
SELECT employee_id FROM salary where salary>3000
在使用NOT IN時會自動去除這5個值中的重複值得到不重複的3個ID 最終傳回3行資料
學習參考資料:《跟韓老師學 SQL Server 資料庫設計與開發》