sql语句查询排序

一: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项目菜单查询)

 

三:关联查询(左外查询)(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

  关联查询示意图:

 

    内关联            左外            右外

 

 

posted @ 2018-10-08 13:44  我爱si搬砖  阅读(7567)  评论(0编辑  收藏  举报