(NOT) IN 運算子 (SQL (NOT) IN Operator)
IN 搭配 WHERE 子句可以用來限定必需符合某些欄位值為條件來搜尋資料表中的特定資料。
IN 語法 (SQL IN Syntax)
SELECT table_column1, table_column2, table_column3...
FROM table_name
WHERE column_name
IN (value1, value2, value3...);
IN 運算子查詢用法 (Example)
假設我們想從下面的 customers 資料表中取得顧客張一或李三的資料:
C_Id | Name | City | Address | Phone |
---|---|---|---|---|
1 | 張一 | 台北市 | XX路100號 | 02-12345678 |
2 | 王二 | 新竹縣 | YY路200號 | 03-12345678 |
3 | 李三 | 高雄縣 | ZZ路300號 | 07-12345678 |
我們可以這樣作 SQL 查詢:
SELECT * FROM customers
WHERE Name IN ('張一', '李三');
查詢後返回的結果會是:
C_Id | Name | City | Address | Phone |
---|---|---|---|---|
1 | 張一 | 台北市 | XX路100號 | 02-12345678 |
3 | 李三 | 高雄縣 | ZZ路300號 | 07-12345678 |
NOT IN
相反的,NOT IN 就是不包含在條件裡的的資料我通通要了,如上例多加上 NOT:
SELECT * FROM customers
WHERE Name NOT IN ('張一', '李三');
查詢後返回的結果會是:
C_Id | Name | City | Address | Phone |
---|---|---|---|---|
2 | 王二 | 新竹縣 | YY路200號 | 03-12345678 |