MySQL 的IN
运算符允许您优雅地组合多个 OR
条件。如果某个值等于 IN
列表中提供的任何值,则返回 1
(true),否则返回 0
(false)。
用法
SELECT value IN (value1, value2, value3, ...);
SELECT column_name
FROM table_name
WHERE column_name 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 IN (0, 6, 10, 14);
+---------------------+
| 4 IN (0, 6, 10, 14) |
+---------------------+
| 0 |
+---------------------+
不幸的是 4
不是中奖号码之一 0
、 6
、 10
或 14
。
要检索 16
、 17
或 18
岁的学生:
SELECT *
FROM students
WHERE age
IN (16, 17, 18);
+------------+----------+--------+--------------+------+----------+
| student_id | fname | lname | day_enrolled | age | username |
+------------+----------+--------+--------------+------+----------+
| 1 | Sky | Towner | 2015-12-03 | 17 | stowner1 |
| 3 | Travis | Apple | 2018-08-14 | 18 | tapple3 |
| 4 | Arthur | David | 2016-04-01 | 16 | adavid4 |
| 5 | Benjamin | Town | 2014-01-01 | 17 | btown5 |
+------------+----------+--------+--------------+------+----------+
除了 19
的 Ben Davis 之外的所有学生均已返回。
相关用法
- MySQL INSERT方法用法及代码示例
- MySQL INET_ATON()用法及代码示例
- MySQL INET_NTOA()用法及代码示例
- MySQL INNER JOIN用法及代码示例
- MySQL INSTR方法用法及代码示例
- MySQL INET6_ATON()用法及代码示例
- MySQL INET6_NTOA()用法及代码示例
- MySQL INSERT INTO用法及代码示例
- MySQL INSERT()用法及代码示例
- MySQL INSTR()用法及代码示例
- MySQL IS_IPV4()用法及代码示例
- MySQL IS NOT用法及代码示例
- MySQL IS_UUID()用法及代码示例
- MySQL IS_IPV6()用法及代码示例
- MySQL IS NULL用法及代码示例
- MySQL IS用法及代码示例
- MySQL IS_IPV4_MAPPED()用法及代码示例
- MySQL IS NOT NULL用法及代码示例
- MySQL IF( )用法及代码示例
- MySQL ISNULL( )用法及代码示例
- MySQL ROUND()用法及代码示例
- MySQL REPEAT()用法及代码示例
- MySQL POWER()用法及代码示例
- MySQL LEAD() and LAG()用法及代码示例
- MySQL RADIANS方法用法及代码示例
注:本文由纯净天空筛选整理自Arthur Yanagisawa大神的英文原创作品 MySQL | IN。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。