在MySQL中先显示不为空值的结果,然后再显示为空值的结果
让我们首先创建一个表-
create table DemoTable1357
-> (
-> StudentName varchar(40),
-> StudentCountryName varchar(30)
-> );使用插入命令在表中插入一些记录-
insert into DemoTable1357 values('Chris','US');
insert into DemoTable1357 values('David',NULL);
insert into DemoTable1357 values('David','AUS');
insert into DemoTable1357 values('Carol',NULL);
insert into DemoTable1357 values('Mike','UK');使用select语句显示表中的所有记录-
select * from DemoTable1357;
这将产生以下输出-
+-------------+--------------------+ | StudentName | StudentCountryName | +-------------+--------------------+ | Chris | US | | David | NULL | | David | AUS | | Carol | NULL | | Mike | UK | +-------------+--------------------+ 5 rows in set (0.00 sec)
以下是查询以首先显示不为空值然后为空值的结果-
select * from DemoTable1357
-> order by (StudentCountryName IS NULL),StudentName;这将产生以下输出-
+-------------+--------------------+ | StudentName | StudentCountryName | +-------------+--------------------+ | Chris | US | | David | AUS | | Mike | UK | | Carol | NULL | | David | NULL | +-------------+--------------------+ 5 rows in set (0.00 sec)