📜  SQL | BETWEEN & IN 运算符

📅  最后修改于: 2021-09-08 16:30:14             🧑  作者: Mango

之间

SQL BETWEEN 条件允许您轻松测试表达式是否在值范围内(包括值)。值可以是文本、日期或数字。它可以用在 SELECT、INSERT、UPDATE 或 DELETE 语句中。 SQL BETWEEN Condition 将返回表达式在 value1 和 value2 范围内的记录。

句法:

SELECT column_name(s)
FROM table_name
WHERE column_name BETWEEN value1 AND value2;

例子:
考虑以下员工表,

查询

  • 将 BETWEEN 与数值一起使用:
    列出工资在 30000 到 45000 之间的所有员工 Fname、Lname。
    SELECT Fname, Lname
    FROM Employee
    WHERE Salary
    BETWEEN 30000 AND 45000;

    输出:

  • 将 BETWEEN 与日期值一起使用:
    查找所有出生日期在 01-01-1985 和 12-12-1990 之间的员工。
    SELECT Fname, Lname
    FROM Employee
    where DOB
    BETWEEN '1985-01-01' AND '1990-12-30';

    输出:

  • 在 BETWEEN 中使用 NOT运算符
    查找所有工资不在 30000 和 45000 范围内的员工姓名。
    SELECT Fname, Lname
    FROM Emplyoee
    WHERE Salary
    NOT BETWEEN 30000 AND 45000;

    输出:

IN运算符允许您轻松测试表达式是否与值列表中的任何值匹配。它用于去除 SELECT、INSERT、UPDATE 或 DELETE 中多个 OR 条件的需要。您还可以使用 NOT IN 排除列表中的行。
句法:

SELECT column_name(s)
FROM table_name
WHERE column_name IN (list_of_values);

查询

  • 找出薪水等于 30000、40000 或 25000 的员工的 Fname、Lname。
    SELECT Fname, Lname
    FROM Employee
    WHERE Salary IN (30000, 40000, 25000);

    输出:

  • 找出工资不等于 25000 或 30000 的所有员工的 Fname、Lname。
    SELECT Fname, Lname
    FROM Employee
    WHERE Salary NOT IN (25000, 30000);

    输出: