备战2022春招或暑期实习,本专栏会持续输出MySQL系列文章,祝大家每天进步亿点点!文末私信作者,我们一起去大厂。
本篇总结的是 《where使用》,后续会每日更新~
关于《Redis入门到精通》、《并发编程》、《Java全面入门》、《鸿蒙开发》等知识点可以参考我的往期博客
相信自己,越活越坚强,活着就该逢山开路,遇水架桥!生活,你给我压力,我还你奇迹!
目录
1、简介
2、正文
2.1 where子句位置
2.2 操作符
2.3 空值null
1、简介
当我们需要获取数据库表数据的特定子集时,可以使用where子句指定搜索条件进行过滤。where子句的使用场景非常丰富,它是MySQL语句中需要重点掌握的一个知识点。where实现的所有功能都可以在MySQL之外实现,但是直接在MySQL中过滤查询速度更快,也能节省网络传输开销。
2、正文
首先准备一张User表,DDL和表数据如下所示,可以直接复制使用。接下来使用表中操作符一个个的进行where子查询。
2.2.1 操作符 =
操作符=可以用于查询完全匹配的数据,注意MySQL默认不区分英文大小写.
需求:
查询name等于李子捌的数据
语句:操作符=如果存在多条匹配数据,那么符合where字句条件的数据均会返回,如果需要指定排序方式,可以结合order by对数据进行排序。
2.2.2 操作符 <> 和 !=
这两个操作符实现的效果相同,均是匹配不相等的数据。
需求:
查询name不等于李子捌的数据
语句:2.2.3 操作符<= 、 <、>=、>
这四个操作符用于数值类型的列数据比较,但是如果作用于文本字段,MySQL也能执行只是返回的结果可能并不是你预期的数据(理论上没人会这么玩,但确实不报错!)
需求:
查询年龄小于等于20的所有用户
语句:结果:
+----+--------+-----+-----+| id | name | age | sex |+----+--------+-----+-----+| 1 | 李子捌 | 18 | 1 || 5 | 六麻子 | 13 | 0 || 7 | 谢礼 | 18 | 1 || 8 | 李子柒 | 18 | 1 |+----+--------+-----+-----+4 rows in set (0.00 sec)
.2.4 BETWEEN AND
BETWEEN AND 用于查询两个数值范围之间的值,这个范围是两个闭区间,因此包含起始值和结束值。比如BETWEEN 1 AND 100,包含1和100的数据。
需求:
查询年龄大于等于20小于等于50的用户
语句:
+----+------+-----+-----+| id | name | age | sex |+----+------+-----+-----+| 2 | 张三 | 22 | 1 || 3 | 李四 | 38 | 1 || 4 | 王五 | 25 | 1 || 6 | 田七 | 37 | 1 |+----+------+-----+-----+4 rows in set (0.00 sec)
2.3 空值null
空值null指的是不包含数据,它可以在建表的时候指定其中的列是否可以包含空值。需要注意null和数据值类型的0,字符类型的空格不一样,空值null指的是没有值。
关于空值null的查询,MySQL提供了专门的where子句is null。
需求:
查询name为空值的数据
语句: