SQL - AND 和 OR 合取运算符

  • 简述

    SQLAND&OR运算符用于组合多个条件以缩小 SQL 语句中的数据范围。这两个算子称为合取算子。
    这些运算符提供了一种在同一 SQL 语句中对不同运算符进行多重比较的方法。
  • AND 运算符

    AND运算符允许在 SQL 语句的 WHERE 子句中存在多个条件。

    句法

    带有 WHERE 子句的 AND 运算符的基本语法如下 -
    
    SELECT column1, column2, columnN 
    FROM table_name
    WHERE [condition1] AND [condition2]...AND [conditionN];
    
    您可以使用 AND 运算符组合 N 个条件。对于 SQL 语句要执行的操作,无论是事务还是查询,由 AND 分隔的所有条件都必须为 TRUE。

    例子

    考虑具有以下记录的 CUSTOMERS 表 -
    
    +----+----------+-----+-----------+----------+
    | ID | NAME     | AGE | ADDRESS   | SALARY   |
    +----+----------+-----+-----------+----------+
    |  1 | Ramesh   |  32 | Ahmedabad |  2000.00 |
    |  2 | Khilan   |  25 | Delhi     |  1500.00 |
    |  3 | kaushik  |  23 | Kota      |  2000.00 |
    |  4 | Chaitali |  25 | Mumbai    |  6500.00 |
    |  5 | Hardik   |  27 | Bhopal    |  8500.00 |
    |  6 | Komal    |  22 | MP        |  4500.00 |
    |  7 | Muffy    |  24 | Indore    | 10000.00 |
    +----+----------+-----+-----------+----------+
    
    以下是一个示例,它将从 CUSTOMERS 表中获取 ID、Name 和 Salary 字段,其中薪水大于 2000 且年龄小于 25 岁 -
    
    SQL> SELECT ID, NAME, SALARY 
    FROM CUSTOMERS
    WHERE SALARY > 2000 AND age < 25;
    
    这将产生以下结果 -
    
    +----+-------+----------+
    | ID | NAME  | SALARY   |
    +----+-------+----------+
    |  6 | Komal |  4500.00 |
    |  7 | Muffy | 10000.00 |
    +----+-------+----------+
    
  • OR 运算符

    OR 运算符用于组合 SQL 语句的 WHERE 子句中的多个条件。

    句法

    带有 WHERE 子句的 OR 运算符的基本语法如下 -
    
    SELECT column1, column2, columnN 
    FROM table_name
    WHERE [condition1] OR [condition2]...OR [conditionN]
    
    您可以使用 OR 运算符组合 N 个条件。对于 SQL 语句要执行的操作,无论是事务还是查询,由 OR 分隔的唯一条件之一必须为 TRUE。

    例子

    考虑具有以下记录的 CUSTOMERS 表 -
    
    +----+----------+-----+-----------+----------+
    | ID | NAME     | AGE | ADDRESS   | SALARY   |
    +----+----------+-----+-----------+----------+
    |  1 | Ramesh   |  32 | Ahmedabad |  2000.00 |
    |  2 | Khilan   |  25 | Delhi     |  1500.00 |
    |  3 | kaushik  |  23 | Kota      |  2000.00 |
    |  4 | Chaitali |  25 | Mumbai    |  6500.00 |
    |  5 | Hardik   |  27 | Bhopal    |  8500.00 |
    |  6 | Komal    |  22 | MP        |  4500.00 |
    |  7 | Muffy    |  24 | Indore    | 10000.00 |
    +----+----------+-----+-----------+----------+
    
    以下代码块有一个查询,它将从 CUSTOMERS 表中获取 ID、Name 和 Salary 字段,其中薪水大于 2000 或年龄小于 25 岁。
    
    SQL> SELECT ID, NAME, SALARY 
    FROM CUSTOMERS
    WHERE SALARY > 2000 OR age < 25;
    
    这将产生以下结果 -
    
    +----+----------+----------+
    | ID | NAME     | SALARY   |
    +----+----------+----------+
    |  3 | kaushik  |  2000.00 |
    |  4 | Chaitali |  6500.00 |
    |  5 | Hardik   |  8500.00 |
    |  6 | Komal    |  4500.00 |
    |  7 | Muffy    | 10000.00 |
    +----+----------+----------+