📜  SQL-AND和OR运算符

📅  最后修改于: 2020-12-29 04:33:59             🧑  作者: Mango


SQL ANDOR运算符用于组合多个条件以缩小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运算符用于在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 |
+----+----------+-----+-----------+----------+

以下代码块具有一个查询,该查询将从薪水大于2000或年龄小于25岁的CUSTOMERS表中获取ID,名称和薪水字段。

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 |
+----+----------+----------+