天天看點

Transact-SQL學習筆記16——IN 和 NOT IN

作者:包家三少

實驗環境如下兩表:

Transact-SQL學習筆記16——IN 和 NOT IN

employee表

Transact-SQL學習筆記16——IN 和 NOT IN

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
Transact-SQL學習筆記16——IN 和 NOT IN

在使用IN時會自動去除這5個值中的重複值得到不重複的3個ID 最終傳回3行資料

Transact-SQL學習筆記16——IN 和 NOT IN

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
Transact-SQL學習筆記16——IN 和 NOT IN

在使用NOT IN時會自動去除這5個值中的重複值得到不重複的3個ID 最終傳回3行資料

Transact-SQL學習筆記16——IN 和 NOT IN

學習參考資料:《跟韓老師學 SQL Server 資料庫設計與開發》

繼續閱讀