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
关联查询示意图:
内关联 左外 右外