教程 > SQL 教程 > SQL 基础 阅读:27

SQL AND 和 OR

SQL AND 和 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 字段,其中SALARY大于 2000 并且 AGE小于 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整个条件就为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 字段,其中 SALARY 大于 2000 或 AGE 小于 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 |
+----+----------+----------+

查看笔记

扫码一下
查看教程更方便