查询结果排序
  • 使用ORDER BY 子句

    SELECT <列名列表> FROM <表名>
    [WHERE 条件]
    ORDER BY <字段名1> [ASC|DESC] [ ,字段名2 [ASC|DESC] ] [,...n]
    --order by <字段名1> (不写ASC|DESC, 则默认升序ASC)
  • ASC表示按字段值升序排列 (ascend)

  • DESC表示按字段降序排列 ( descend )

  • 实例

--例1 查询航天班的学生的姓名、年龄、按年龄从小到大排序(升序)
SELECT sname, sage FROM Student
WHERE sclass = '航天'
ORDER BY sage ASC  -- 降序(ASC 改成 DESC)

--例2 查询航天的学生信息按年龄从大到小排序(降序), 年龄相同时按学号升序排列
SELECT * FROM Student
WHERE sclass = '航天'
ORDER BY sage DESC, snumb ASC

--例3 查询 2010年以前出版的图书,显示0.5折的价格,折后价格按降序排列
SELECT bnumb, bname, author, press, pdate, price * 0.5
--排序要是按照打折后价格排序,需要起一个别名
AS discountprice           
FROM book
WHERE pdate < '2010-1-1'
ORDER BY discountprice DESC