📅  最后修改于: 2023-12-03 15:35:05.872000             🧑  作者: Mango
在 SQL 查询中,我们经常需要检查一个值是否存在于一个列中。这可以使用 IN
和 NOT IN
运算符来实现。
下面是 IN
和 NOT IN
的语法:
SELECT column1, column2, ...
FROM table_name
WHERE column_name IN (value1, value2, ...);
SELECT column1, column2, ...
FROM table_name
WHERE column_name NOT IN (value1, value2, ...);
其中:
column_name
是要检查的列名。value1
, value2
, ... 是要匹配的值。假设我们有一个 students
表,其中包含以下列:
id
- 学生 IDname
- 姓名age
- 年龄gender
- 性别我们可以使用 IN
操作符来选择年龄为 18、19 或 20 岁的学生:
SELECT * FROM students WHERE age IN (18, 19, 20);
我们也可以使用 NOT IN
操作符来排除年龄为 18、19 或 20 岁的学生:
SELECT * FROM students WHERE age NOT IN (18, 19, 20);
IN
和 NOT IN
操作符只能用于匹配单个列。
如果要匹配多个列,请使用 OR
运算符。
在使用 IN
和 NOT IN
操作符时,注意括号中的值必须与列中的数据类型匹配。
在有大量值需要匹配时,可以使用 SELECT
语句或子查询来准备这些值。例如:
SELECT * FROM students WHERE age IN (SELECT age FROM age_table);
以上就是 SQL 中值存在于列中的用法,希望能对你的 SQL 查询有所帮助。