WHERE 子句用于在 SQL 查询中指定条件,以筛选满足特定条件的数据行。它是 SQL 查询中必不可少的一部分,能帮助用户精确控制查询结果。


📚 目录

  1. WHERE 子句简介
  2. 基本语法结构
  3. 常见的条件操作符
  4. 逻辑运算符
  5. BETWEEN 操作符
  6. IN 操作符
  7. LIKE 和 GLOB 操作符
  8. IS NULL 和 IS NOT NULL
  9. 参考资料与链接

1. WHERE 子句简介

WHERE 子句用于筛选数据,使查询结果只包含符合特定条件的数据行。它是查询语句中的核心部分,能够帮助开发者精确地从数据库中获取所需的数据。


2. 基本语法结构

SELECT 列名1, 列名2 FROM 表名 WHERE 条件;

  • 条件 可以是任意表达式,包括比较操作、逻辑操作和函数等。

3. 常见的条件操作符

WHERE 子句中,常用的条件操作符包括:

操作符说明
=等于
!=不等于
>大于
<小于
>=大于等于
<=小于等于

示例

SELECT * FROM users WHERE age >= 18;
SELECT * FROM users WHERE name != 'Alice';


4. 逻辑运算符

逻辑运算符用于组合多个条件,常见的逻辑运算符包括 ANDORNOT

  • 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;


9. 参考资料与链接