sql语句查询排序

时间:2022-04-11 17:01:10

一:sql语句单词意义

  order by 是用在where条件之后,用来对查询结果进行排序

  order by 字段名 asc/desc

  asc 表示升序(默认为asc,可以省略)

 desc表示降序

  order by 无法用于子查询,否则会报错:除非另外还指定了 TOP 或 FOR XML,否则,ORDER BY 子句在视图、内联函数、派生表、子查询和公用表表达式中无效。

报错提示简单明了

  在子查询使用order by小技巧:在select后加top n,但是如果不知道结果大概行数,可以用percent(top 100 percent:百分之一百),top后可放百分比:select * from (select top 100 percent * from table order by id desc)

二:子查询(嵌套查询)(jt项目菜单查询)

sql语句查询排序

三:关联查询(左外查询)(jt项目菜单查询)

  <select id="findObjects" resultMap="map">
  select c.*,p.name parentName
  from sys_menus c left join sys_menus p
  on c.parentId=p.id

  关联查询示意图:

sql语句查询排序

    内关联            左外            右外