如果該值不等於NOT IN 列表中提供的任何值,MySQL 的NOT IN 運算符將返回1 (true),否則返回0 (false)。
用法
SELECT value NOT IN (value1, value2, value3, ...);
SELECT column_name(s)
FROM table_name
WHERE column_name NOT IN (value1, value2, ...);
例子
考慮下表有關一些學生的信息:
|
student_id |
名稱 |
名字 |
day_enrolled |
年齡 |
用戶名 |
|---|---|---|---|---|---|
|
1 |
Sky |
Towner |
2015-12-03 |
17 |
stowner1 |
|
2 |
Ben |
Davis |
2016-04-20 |
19 |
bdavis2 |
|
3 |
Travis |
Apple |
2018-08-14 |
18 |
tapple3 |
|
4 |
Arthur |
David |
2016-04-01 |
16 |
adavid4 |
|
5 |
Benjamin |
Town |
2014-01-01 |
17 |
btown5 |
可以使用此處的代碼創建上述示例表。
基本用法
檢查4是否不是列出的中獎號碼之一:
SELECT 4 NOT IN (0, 6, 10, 14);
+----------------------+
| 4 NOT IN (0,6,10,14) |
+----------------------+
| 1 |
+----------------------+
我們返回 1 (true),因為 4 確實不是中獎號碼 0 、 6 、 10 和 14 之一。
要檢索既不是 16 、 17 也不是 18 的學生:
SELECT *
FROM students
WHERE age
NOT IN (16, 17, 18);
+------------+-------+-------+--------------+------+----------+
| student_id | fname | lname | day_enrolled | age | username |
+------------+-------+-------+--------------+------+----------+
| 2 | Ben | Davis | 2016-04-20 | 19 | bdavis2 |
+------------+-------+-------+--------------+------+----------+
我們返回 Ben Davis,因為他是唯一一個年齡不是 16、17 或 18 歲的學生。
相關用法
- MySQL NOT REGEXP用法及代碼示例
- MySQL NOT LIKE用法及代碼示例
- MySQL NOT BETWEEN用法及代碼示例
- MySQL NOT用法及代碼示例
- MySQL NOW()用法及代碼示例
- MySQL NOW方法用法及代碼示例
- MySQL NULLIF( )用法及代碼示例
- MySQL ROUND()用法及代碼示例
- MySQL REPEAT()用法及代碼示例
- MySQL POWER()用法及代碼示例
- MySQL LEAD() and LAG()用法及代碼示例
- MySQL IS_IPV4()用法及代碼示例
- MySQL RADIANS方法用法及代碼示例
- MySQL VARIANCE方法用法及代碼示例
- MySQL WEEK()用法及代碼示例
- MySQL TIME_FORMAT方法用法及代碼示例
- MySQL CURTIME()用法及代碼示例
- MySQL weekofyear()用法及代碼示例
- MySQL Convert()用法及代碼示例
- MySQL IS NOT用法及代碼示例
- MySQL FROM_BASE64()用法及代碼示例
- MySQL LEFT方法用法及代碼示例
- MySQL UCASE方法用法及代碼示例
- MySQL PI()用法及代碼示例
- MySQL CONCAT()用法及代碼示例
注:本文由純淨天空篩選整理自Arthur Yanagisawa大神的英文原創作品 MySQL | NOT IN。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。
