Appearance
SQL WHERE
SQL WHERE 子句用于过滤查询结果,只返回满足指定条件的记录。
WHERE 子句语法
sql
SELECT column1, column2, ...
FROM table_name
WHERE condition;condition:指定过滤条件,只有满足该条件的记录才会被返回
操作符
WHERE 子句中可以使用以下操作符:
| 操作符 | 描述 | 示例 |
|---|---|---|
| = | 等于 | age = 18 |
| <> | 不等于 | age <> 18 |
| > | 大于 | age > 18 |
| < | 小于 | age < 18 |
| >= | 大于等于 | age >= 18 |
| <= | 小于等于 | age <= 18 |
| BETWEEN | 在某个范围内 | age BETWEEN 18 AND 20 |
| LIKE | 模糊匹配 | name LIKE '张%' |
| IN | 在指定的集合中 | age IN (18, 19, 20) |
示例
假设我们有一个名为 students 的表,包含以下数据:
| id | name | age | grade |
|---|---|---|---|
| 1 | 张三 | 18 | 高三 |
| 2 | 李四 | 17 | 高二 |
| 3 | 王五 | 19 | 高三 |
| 4 | 赵六 | 16 | 高一 |
| 5 | 钱七 | 18 | 高三 |
示例 1:查询年龄等于 18 的学生
sql
SELECT * FROM students WHERE age = 18;结果:
| id | name | age | grade |
|---|---|---|---|
| 1 | 张三 | 18 | 高三 |
| 5 | 钱七 | 18 | 高三 |
示例 2:查询年龄大于 17 的学生
sql
SELECT * FROM students WHERE age > 17;结果:
| id | name | age | grade |
|---|---|---|---|
| 1 | 张三 | 18 | 高三 |
| 3 | 王五 | 19 | 高三 |
| 5 | 钱七 | 18 | 高三 |
示例 3:查询年级为高三的学生
sql
SELECT * FROM students WHERE grade = '高三';结果:
| id | name | age | grade |
|---|---|---|---|
| 1 | 张三 | 18 | 高三 |
| 3 | 王五 | 19 | 高三 |
| 5 | 钱七 | 18 | 高三 |
示例 4:查询年龄在 16 到 18 之间的学生
sql
SELECT * FROM students WHERE age BETWEEN 16 AND 18;结果:
| id | name | age | grade |
|---|---|---|---|
| 1 | 张三 | 18 | 高三 |
| 2 | 李四 | 17 | 高二 |
| 4 | 赵六 | 16 | 高一 |
| 5 | 钱七 | 18 | 高三 |
注意事项
字符串值需要引号:当比较字符串值时,需要使用单引号或双引号将字符串括起来。
数值不需要引号:当比较数值时,不需要使用引号。
NULL 值的比较:不能使用
=或<>来比较 NULL 值,需要使用IS NULL或IS NOT NULL。性能考虑:WHERE 子句可以帮助数据库优化查询,只返回满足条件的记录,从而提高查询性能。
小结
SQL WHERE 子句是过滤查询结果的重要工具,通过指定条件,可以只返回我们需要的记录。掌握 WHERE 子句的使用方法,对于编写有效的 SQL 查询非常重要。