导航菜单

SQL 学习/条件与排序
课程进度 26% · 第3/9章3/9章 · 标签 1/3
1

WHERE 条件查询

WHERE用于指定查询的筛选条件,只返回满足条件的记录。它是SQL查询中最常用的子句之一,支持多种条件表达式。

sql
1
-- 基本条件
2
SELECT * FROM students WHERE age > 18;
3
 
4
-- 精确匹配
5
SELECT * FROM students WHERE name = '张三';
6
 
7
-- 范围查询
8
SELECT * FROM students WHERE score BETWEEN 60 AND 90;
9
 
10
-- 集合查询
11
SELECT * FROM students WHERE class_id IN (1, 3, 5);
12
 
13
-- 模糊匹配
14
SELECT * FROM students WHERE name LIKE '张%';
15
SELECT * FROM students WHERE name LIKE '%明%';
16
SELECT * FROM students WHERE name LIKE '_三';

📖WHERE后可跟多种条件表达式。常用运算符:=、!=、>、<、>=、<=、LIKE、IN、BETWEEN。LIKE中%匹配任意字符,_匹配单个字符。

2

比较与逻辑运算

可用AND、OR、NOT组合多个条件,构建更精确的筛选逻辑。

sql
1
-- AND:同时满足
2
SELECT * FROM students
3
WHERE age >= 18 AND gender = '男';
4
 
5
-- OR:满足其一
6
SELECT * FROM students
7
WHERE class_id = 1 OR class_id = 2;
8
 
9
-- NOT:取反
10
SELECT * FROM students
11
WHERE NOT gender = '女';
12
 
13
-- 混合条件(括号优先)
14
SELECT * FROM students
15
WHERE (class_id = 1 OR class_id = 2)
16
AND score > 80;
17
 
18
-- NULL 判断
19
SELECT * FROM students
20
WHERE score IS NULL;
21
 
22
SELECT * FROM students
23
WHERE score IS NOT NULL;

AND为且,OR为或,NOT为非。混合使用多个条件时建议加括号明确优先级,避免歧义。IS NULL / IS NOT NULL 用于判断空值。