📜  sql where 多个值 - SQL (1)

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

SQL WHERE多个值

在SQL语句中,使用WHERE子句可以筛选出符合条件的数据。除了可以使用单个值作为条件,还可以使用多个值作为条件。本文将介绍如何在SQL中使用WHERE子句来过滤多个值。

使用IN关键词筛选多个值

IN关键词用于在WHERE子句中筛选出符合多个值任意一个的行。下面是一个例子,使用IN筛选出部门编号为10、20和30的员工信息:

SELECT * FROM employee WHERE department_id IN (10, 20, 30);

结果:

| id | name | department_id | |----|---------|---------------| | 1 | John | 10 | | 4 | David | 20 | | 5 | Jessica | 30 | | 6 | Alice | 10 |

使用OR关键词筛选多个值

OR关键词用于在WHERE子句中筛选出符合多个条件任意一个的行。下面是一个例子,使用OR筛选出部门编号为10或20的员工信息:

SELECT * FROM employee WHERE department_id = 10 OR department_id = 20;

结果:

| id | name | department_id | |----|-------|---------------| | 1 | John | 10 | | 2 | Mary | 10 | | 4 | David | 20 |

使用AND关键词筛选多个值

AND关键词用于在WHERE子句中筛选出符合多个条件都成立的行。下面是一个例子,使用AND筛选出部门编号为10且工资大于5000的员工信息:

SELECT * FROM employee WHERE department_id = 10 AND salary > 5000;

结果:

| id | name | department_id | salary | |----|------|---------------|---------| | 2 | Mary | 10 | 6000 | | 6 | Alice| 10 | 5500 |

使用NOT关键词排除多个值

NOT关键词用于在WHERE子句中排除符合多个值任意一个的行。下面是一个例子,使用NOT排除部门编号为10、20和30的员工信息:

SELECT * FROM employee WHERE department_id NOT IN (10, 20, 30);

结果:

| id | name | department_id | |----|----------| ------------| | 3 | Tom | 40 | | 7 | Samantha | 50 |

总结

通过在WHERE子句中使用IN、OR、AND和NOT关键词,可以非常方便地筛选出符合多个条件的行或排除符合多个值任意一个的行。在实际开发中,可以灵活地运用各种关键词来满足不同的需求。