【重学 MySQL】十五、过滤数据
- 基本用法
- 使用`AND`、`OR`和`NOT`
- 使用`IN`操作符
- 使用`BETWEEN`操作符
- 使用`LIKE`操作符
- 使用`IS NULL`和`IS NOT NULL`
在MySQL中,过滤数据主要通过WHERE
子句来实现。WHERE
子句允许你指定条件来过滤从表中检索出来的行。只有当行满足WHERE
子句中的条件时,这些行才会被包含在查询结果中。
基本用法
假设有一个名为students
的表,其中包含id
、name
和age
字段,你想查询年龄大于18的所有学生:
SELECT * FROM students WHERE age > 18;
使用AND
、OR
和NOT
你可以使用AND
、OR
和NOT
操作符来组合多个条件。
-
使用
AND
查找同时满足多个条件的行:SELECT * FROM students WHERE age > 18 AND name = 'John';
-
使用
OR
查找满足至少一个条件的行:SELECT * FROM students WHERE age > 18 OR name = 'John';
-
使用
NOT
排除满足某个条件的行:SELECT * FROM students WHERE NOT age > 18;
使用IN
操作符
IN
操作符允许你在WHERE
子句中指定多个可能的值,来匹配字段中的值。
SELECT * FROM students WHERE age IN (18, 19, 20);
这会选取年龄为18、19或20的所有学生。
使用BETWEEN
操作符
BETWEEN
操作符选取在指定范围内的值,包括边界值。
SELECT * FROM students WHERE age BETWEEN 18 AND 20;
这会选取年龄在18到20(包括18和20)之间的所有学生。
使用LIKE
操作符
LIKE
操作符用于在WHERE
子句中搜索列中的指定模式。通常与通配符%
(表示任意数量的字符)和_
(表示单个字符)一起使用。
SELECT * FROM students WHERE name LIKE 'J%';
这会选取名字以J
开头的所有学生。
使用IS NULL
和IS NOT NULL
IS NULL
和IS NOT NULL
操作符用于检查列中的值是否为NULL
。
SELECT * FROM students WHERE email IS NULL;
这会选取那些没有电子邮件地址的学生。
使用WHERE
子句可以非常灵活地过滤MySQL中的数据,确保你只获取你感兴趣的信息。