WHERE
子句用于在 SQL 查询中指定条件,以筛选满足特定条件的数据行。它是 SQL 查询中必不可少的一部分,能帮助用户精确控制查询结果。
📚 目录
1. WHERE 子句简介
WHERE
子句用于筛选数据,使查询结果只包含符合特定条件的数据行。它是查询语句中的核心部分,能够帮助开发者精确地从数据库中获取所需的数据。
2. 基本语法结构
SELECT 列名1, 列名2 FROM 表名 WHERE 条件;
条件
可以是任意表达式,包括比较操作、逻辑操作和函数等。
3. 常见的条件操作符
在 WHERE
子句中,常用的条件操作符包括:
操作符 | 说明 |
---|---|
= | 等于 |
!= | 不等于 |
> | 大于 |
< | 小于 |
>= | 大于等于 |
<= | 小于等于 |
示例:
SELECT * FROM users WHERE age >= 18;
SELECT * FROM users WHERE name != 'Alice';
4. 逻辑运算符
逻辑运算符用于组合多个条件,常见的逻辑运算符包括 AND
、OR
和 NOT
。
AND
:两个条件都为真时,结果才为真。OR
:任意一个条件为真时,结果为真。NOT
:取反。
示例:
SELECT * FROM users WHERE age > 18 AND city = 'New York';
SELECT * FROM users WHERE NOT name = 'Bob';
5. BETWEEN 操作符
BETWEEN
操作符用于筛选一个值在两个值之间的数据,包括边界值。
示例:
SELECT * FROM products WHERE price BETWEEN 50 AND 100;
这将筛选出价格在 50 到 100 之间的所有产品。
6. IN 操作符
IN
操作符用于检查一个值是否在指定的集合中。它可以简化多个 OR
条件的写法。
示例:
SELECT * FROM users WHERE age IN (18, 20, 25);
这将返回年龄为 18、20 或 25 的所有用户。
7. LIKE 和 GLOB 操作符
LIKE
用于进行模糊匹配,支持通配符%
(任意字符)和_
(单个字符)。GLOB
用于进行基于 UNIX 样式的通配符匹配。
示例:
SELECT * FROM users WHERE name LIKE 'A%';
SELECT * FROM files WHERE filename GLOB '*.txt';
8. IS NULL 和 IS NOT NULL
IS NULL
用于检查列是否为NULL
。IS NOT NULL
用于检查列是否不为NULL
。
示例:
SELECT * FROM users WHERE email IS NULL;
SELECT * FROM products WHERE stock IS NOT NULL;
发表回复