NULL的意思表示什么都不是,或者理解成“未知”也可以,它与任何值比较的结果都是false
注意:
默认情况下,MySQL会认为NULL值比其他类型的数据小, 也就是说:在order by排序的时候,NULL是最小的。
前提:测试数据
id | age | name |
---|
1 | 12 | 张三 |
2 | 32 | 李四 |
3 | 22 | 王五 |
4 | NULL | 赵六 |
5 | 12 | 杨七 |
ASC正序排序
ASC默认NULL值是在最前面的
select * from user order by age asc;
执行结果:
id age name
4 NULL 赵六
1 12 张三
5 12 杨七
3 22 王五
2 32 李四
12345678
要想ASC排序让NULL在最后面,写法如下:
select * from user order by age is null asc ,age asc;
执行结果:
id age name
1 12 张三
5 12 杨七
3 22 王五
2 32 李四
4 NULL 赵六
12345678
DESC降序排序
默认NULL值是在最后面的
select * from user order by age desc;
执行结果:
id age name
2 32 李四
3 22 王五
1 12 张三
5 12 杨七
4 NULL 赵六
12345678
要想DESC排序让NULL在最前面,写法如下:
select * from user order by age is null desc ,age desc;
执行结果:
id age name
4 NULL 赵六
2 32 李四
3 22 王五
1 12 张三
5 12 杨七
12345678
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)