📜  sql 值存在于列中 - SQL (1)

📅  最后修改于: 2023-12-03 15:35:05.872000             🧑  作者: Mango

SQL 值存在于列中

在 SQL 查询中,我们经常需要检查一个值是否存在于一个列中。这可以使用 INNOT IN 运算符来实现。

语法

下面是 INNOT 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 - 学生 ID
  • name - 姓名
  • 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);
注意事项
  • INNOT IN 操作符只能用于匹配单个列。

  • 如果要匹配多个列,请使用 OR 运算符。

  • 在使用 INNOT IN 操作符时,注意括号中的值必须与列中的数据类型匹配。

  • 在有大量值需要匹配时,可以使用 SELECT 语句或子查询来准备这些值。例如:

    SELECT * FROM students WHERE age IN (SELECT age FROM age_table);
    

以上就是 SQL 中值存在于列中的用法,希望能对你的 SQL 查询有所帮助。