Skip to content

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 的表,包含以下数据:

idnameagegrade
1张三18高三
2李四17高二
3王五19高三
4赵六16高一
5钱七18高三

示例 1:查询年龄等于 18 的学生

sql
SELECT * FROM students WHERE age = 18;

结果:

idnameagegrade
1张三18高三
5钱七18高三

示例 2:查询年龄大于 17 的学生

sql
SELECT * FROM students WHERE age > 17;

结果:

idnameagegrade
1张三18高三
3王五19高三
5钱七18高三

示例 3:查询年级为高三的学生

sql
SELECT * FROM students WHERE grade = '高三';

结果:

idnameagegrade
1张三18高三
3王五19高三
5钱七18高三

示例 4:查询年龄在 16 到 18 之间的学生

sql
SELECT * FROM students WHERE age BETWEEN 16 AND 18;

结果:

idnameagegrade
1张三18高三
2李四17高二
4赵六16高一
5钱七18高三

注意事项

  1. 字符串值需要引号:当比较字符串值时,需要使用单引号或双引号将字符串括起来。

  2. 数值不需要引号:当比较数值时,不需要使用引号。

  3. NULL 值的比较:不能使用 =<> 来比较 NULL 值,需要使用 IS NULLIS NOT NULL

  4. 性能考虑:WHERE 子句可以帮助数据库优化查询,只返回满足条件的记录,从而提高查询性能。

小结

SQL WHERE 子句是过滤查询结果的重要工具,通过指定条件,可以只返回我们需要的记录。掌握 WHERE 子句的使用方法,对于编写有效的 SQL 查询非常重要。