📅  最后修改于: 2023-12-03 15:03:03.453000             🧑  作者: Mango
在 MS SQL Server 中,WHERE
子句用于筛选出符合特定条件的记录,它是 SQL 语言的一部分。在查询时,经常需要仅仅选择匹配特定条件的数据行。WHERE子句即可实现这个要求。
SELECT column1, column2, ... FROM table_name WHERE condition;
其中,
SELECT column1, column2, ...
: 定义需要查询的列;FROM table_name
: 定义需要查询的表名;WHERE condition
: 定义需要查询的条件。在 WHERE 子句中,condition
是一个逻辑表达式,只有表达式的值为 True 的记录才会被返回。
例如,我们有一个名为 employees
的表,其中包含以下列:id、name、age、gender、salary、department_id
。现在,我们需要查询工资高于 5000 元且部门编号为 01 的成员信息,可以使用以下语句:
SELECT id, name, age, gender, salary
FROM employees
WHERE salary > 5000 AND department_id = '01';
在 WHERE 子句中,可以使用以下语句创建逻辑表达式:
SELECT * FROM employees WHERE gender = 'male'
SELECT * FROM employees WHERE age <> 30
SELECT * FROM employees WHERE salary > 5000
SELECT * FROM employees WHERE salary < 5000
SELECT * FROM employees WHERE age >= 30
SELECT * FROM employees WHERE age <= 30
SELECT * FROM employees WHERE age BETWEEN 25 AND 35
SELECT * FROM employees WHERE department_id in ('01', '02')
SELECT * FROM employees WHERE department_id not in ('01', '02')
SELECT * FROM employees WHERE name like '%Kim%'
SELECT * FROM employees WHERE name not like '%Kim%'
SELECT * FROM employees WHERE name is null
SELECT * FROM employees WHERE name is not null
在 WHERE 子句中使用以下逻辑操作符可以创建更复杂的子句:
SELECT * FROM employees WHERE department_id = '01' AND salary > 5000
SELECT * FROM employees WHERE department_id = '01' OR department_id = '02'
SELECT * FROM employees WHERE NOT department_id = '01'
WHERE 子句是 SQL 语句中的一个非常重要的组成部分,可以让我们根据特定的条件检索出表中的数据。在编写 WHERE 子句时,我们需要注意逻辑操作符和过滤器语法的使用方式以及语法的正确性,以确保我们能够得到正确的查询结果。