SQL WHERE 子句:我以为我懂了……直到它问我关于 LIKE 😭
发布: (2026年1月8日 GMT+8 12:54)
3 min read
原文: Dev.to
Source: Dev.to
什么是 WHERE 子句?
WHERE 子句基本上就是 SQL 的过滤按钮。
你不想要所有行——只想要特定的行。
SELECT * FROM students;
所有行
SELECT * FROM students
WHERE marks > 80;
只要聪明的孩子们
就是这样。这就是它的目的。
大局观:WHERE 运算符(思维导图)
把 WHERE 运算符分为五类:
| 类别 | 用途 |
|---|---|
| 比较运算符 | 比较数值 |
| 逻辑运算符 | 组合条件 |
| 范围运算符 | 检查数值是否在两个边界之间(含边界) |
| 成员运算符 | 检查是否在列表中 |
| 搜索运算符 | 模式匹配(LIKE) |
下面我们逐一拆解。
比较运算符(大家大多数都知道的)
这些运算符用于比较一个值和另一个值。
| 运算符 | 含义 |
|---|---|
= | 等于 |
!= 或 <> | 不等于 |
> | 大于 |
>= | 大于或等于 |
< | 小于 |
<= | 小于或等于 |
逻辑运算符
| 运算符 | 含义 |
|---|---|
AND | 两个条件都必须为真 |
OR | 至少有一个条件为真 |
NOT | 对条件取反 |
范围运算符
| 运算符 | 语法 |
|---|---|
BETWEEN | BETWEEN x AND y – 检查值是否位于一个范围内(含边界) |
成员运算符
| 运算符 | 语法 |
|---|---|
IN | IN (a, b, c) – 检查值是否匹配列表中的任意一个值 |
搜索运算符
| 运算符 | 语法 |
|---|---|
LIKE | LIKE '%text%' – 使用通配符进行模式匹配(% 代表任意序列,_ 代表单个字符) |
快速参考速查表
| 类别 | 示例 |
|---|---|
| 组合 | AND, OR, NOT |
| 范围 | BETWEEN x AND y |
| 列表 | IN (a, b, c) |
| 模式 | LIKE '%text%' |
把这张表放在手边,WHERE 子句就永远是你的好帮手。
我真的以为自己已经了解 WHERE 子句。
但仅仅知道运算符的名称和能够正确书写它们是两码事。
这篇文章是我的复习笔记、语法提醒,也是以后面试时的备份。