📚 目录
🛠️ 概述
WHERE
子句用于在 SQL 查询中指定条件,以筛选出符合特定条件的行。它常用于 SELECT
、UPDATE
、DELETE
语句中。
📝 基本语法
WHERE
子句的基本语法如下:
SELECT column1, column2, ...
FROM table_name
WHERE condition;
condition
:筛选条件,用于限制查询结果。column1, column2, ...
:要查询的列。
🔍 使用比较运算符
WHERE
子句常与比较运算符(如 =
, >
, <
, >=
, <=
, !=
)一起使用,进行条件筛选。
示例:
SELECT * FROM employees
WHERE salary > 50000;
此查询返回所有 salary
大于 50000 的员工。
⚖️ 使用逻辑运算符
WHERE
子句可以与逻辑运算符(如 AND
、OR
、NOT
)结合,进行多个条件的筛选。
示例(使用 AND
):
SELECT * FROM employees
WHERE salary > 50000 AND position = 'Manager';
此查询返回薪资大于 50000 且职位为 Manager
的员工。
示例(使用 OR
):
SELECT * FROM employees
WHERE position = 'Manager' OR position = 'Developer';
此查询返回职位为 Manager
或 Developer
的员工。
示例(使用 NOT
):
SELECT * FROM employees
WHERE NOT position = 'Manager';
此查询返回所有职位不是 Manager
的员工。
🏞️ 使用 BETWEEN
运算符
BETWEEN
用于筛选指定范围内的值,包含边界。
示例:
SELECT * FROM products
WHERE price BETWEEN 10 AND 50;
该查询返回价格在 10 到 50 之间的所有商品。
📋 使用 IN
运算符
IN
运算符用于筛选列值是否存在于指定的多个值中。
示例:
SELECT * FROM employees
WHERE position IN ('Manager', 'Developer');
该查询返回职位为 Manager
或 Developer
的员工。
🧑💻 使用 LIKE
运算符
LIKE
运算符用于根据模式匹配筛选字符串。可以使用通配符 %
(匹配任意多个字符)和 _
(匹配单个字符)。
示例(使用 %
):
SELECT * FROM employees
WHERE name LIKE 'J%';
该查询返回所有名字以 J
开头的员工。
示例(使用 _
):
SELECT * FROM employees
WHERE name LIKE '_ohn';
该查询返回所有名字为 John
类型的员工。
❓ 使用 IS NULL
IS NULL
用于筛选 NULL
值的行。
示例:
SELECT * FROM employees
WHERE phone IS NULL;
该查询返回所有 phone
列为 NULL
的员工。
📘 参考资料
- PostgreSQL 官方文档:WHERE
- 更多 PostgreSQL 查询技巧整理自:www.52kanjuqing.com
发表回复