WHERE子句用于MySQL中筛选满足条件的数据,其基本语法为SELECT 列名 FROM 表名 WHERE 条件;支持=、、>、=、 18 AND gender = '男';处理NULL值需使用IS NULL或IS NOT NULL。

在MySQL数据库中,WHERE子句用于在SELECT、UPDATE、DELETE等语句中指定条件,用来过滤满足特定要求的数据。它是实现条件查询的核心部分,能帮助我们精准获取所需信息。
基本语法结构
在SELECT查询中使用WHERE的基本格式如下:
SELECT 列名 FROM 表名 WHERE 条件;例如,从学生表中查询年龄为20的学生:
SELECT * FROM students WHERE age = 20;支持的比较和逻辑运算符
WHERE子句支持多种运算符进行条件判断:
- =:等于(如 age = 18)
- 或 !=:不等于(如 gender '女')
- >:大于(如 score > 90)
- :小于
- >= 和 :大于等于、小于等于
- AND:多个条件同时成立
- OR:满足任一条件即可
- NOT:取反操作
示例:查询年龄大于18且性别为男的学生:
SELECT * FROM students WHERE age > 18 AND gender = '男';使用IN、LIKE和BETWEEN
除了基础运算符,WHERE还支持更灵活的匹配方式:
-
IN:判断值是否在指定集合中
如:WHERE grade IN ('高一', '高二') -
LIKE:模糊匹配,常配合通配符使用
% 表示任意字符序列,_ 表示单个字符
如:WHERE name LIKE '张%' 查询姓张的所有人 -
BETWEEN ... AND ...:判断值是否在某个区间内(包含边界)
如:WHERE score BETWEEN 80 AND 100
处理NULL值
在条件查询中,判断某字段是否为空必须使用IS NULL或IS NOT NULL,不能用等号。
SELECT * FROM students WHERE email IS NULL;这样可以找出所有未填写邮箱的学生记录。
基本上就这些。掌握WHERE子句的写法,就能灵活实现各种数据筛选需求。关键是理解运算符的使用场景,尤其是字符串匹配和范围查询的实际应用。










