ORDER BY 语句用于对结果集进行排序。
ORDER BY 语句
ORDER BY 语句用于根据指定的列对结果集进行排序。
ORDER BY 语句默认按照升序对记录进行排序。
如果您希望按照降序对记录进行排序,可以使用 DESC 关键字。
原始的表 (用在例子中的):
首先,order by是用来写在where之后,给多个字段来排序的一个DQL查询语句。
其次,order by写法:
1. select 字段列表/* from 表名 where 条件 order by 字段名1 asc/desc, 字段名2 asc/desc,…
2. select 字段列表/* from 表名 where 条件 order by 字段序号 asc/desc, 字段序号 asc/desc,… (此时字段序号要从1开始)
3. select 字段列表/* from 表名 where 条件 order by 字段别名1 asc/desc, 字段别名2 asc/desc,…(这里类似于第一种,无非就是把字段名加了个别名来代替而已。)
然后,order by的方式:
1.asc 升序,可以省略,是数据库默认的排序方式
2.desc 降序,跟升序相反。
最后要注意order by的原则,写在最前面的字段,他的优先级最高,也就是写法中第一个的字段名1的优先级最高,优先执行他的内容。
首先以sclass的降序查找student表中的记录
写法为:
select * from student t order by t.sclass desc;
输出为:
可以看到是以sclass的降序排列的。
再来:以Cno升序、Degree降序查询Score表的所有记录。
写法为:
select * from score s order by s.cno, s.degree desc;
输出为:
可以看到是优先以cno的升序来排列的,在cno相同的里面再以degree的降序来排列的。
所以总结一下,order by的用法就是用来做排序,写在where之后,简单明了。