在MySQL中,WHERE子句是用于在 SELECT、UPDATE、DELETE等操作中设置过滤条件的重要组成部分,它帮助我们在查询或修改数据时筛选出满足特定条件的记录。以下是 WHERE子句的基本用法及其条件判断:
基本语法:
SELECT column1, column2, ...
FROM table_name
WHERE condition;
条件判断:
- 比较运算符:
=等于<小于>大于<=小于等于>=大于等于<>或!=不等于BETWEEN value1 AND value2在某个范围之间IN (value1, value2, ...)在一组值中IS NULL或IS NOT NULL判断是否为空值
示例:
-- 查询年龄大于20岁的用户
SELECT * FROM users WHERE age > 20;
-- 查询id在1至10之间的用户
SELECT * FROM users WHERE id BETWEEN 1 AND 10;
-- 查询姓名为'张三'或'李四'的用户
SELECT * FROM users WHERE name IN ('张三', '李四');
-- 查询未删除(is_deleted标记为0)的用户
SELECT * FROM users WHERE is_deleted = 0;
-- 查询邮箱不为空的用户
SELECT * FROM users WHERE email IS NOT NULL;
逻辑运算符:
AND:多个条件同时满足OR:满足任意一个条件即可NOT:否定后面的条件
复合条件示例:
-- 查询年龄大于20岁并且性别为'男'的用户
SELECT * FROM users WHERE age > 20 AND gender = '男';
-- 查询年龄小于30岁或邮箱地址以'somecompany.com'结尾的用户
SELECT * FROM users WHERE age < 30 OR email LIKE '%somecompany.com';
-- 查询年龄不在18至25岁之间的用户
SELECT * FROM users WHERE age NOT BETWEEN 18 AND 25;
此外,还可以结合其他条件判断,比如模糊匹配:
-- 查询名字中包含'王'字的用户
SELECT * FROM users WHERE name LIKE '%王%';
以及使用嵌套查询、子查询和关联查询等复杂条件。总的来说,WHERE子句极其灵活,可以用来定义各种复杂的筛选规则。