谁给我解释一下这个语句

[复制链接]
查看11 | 回复1 | 2005-2-28 12:57:00 | 显示全部楼层 |阅读模式
select * from (select comm from bonus)
这个子查询的执行情况
select * from (select comm from bonus order by comm ) where rownum<3;

select comm from bonus order by comm where rownum<3;
的区别
为什么要用子查询呢?
回复

使用道具 举报

千问 | 2005-2-28 12:57:00 | 显示全部楼层
rownum (pseudo column) 是在 order by 操作之前就产生了,所以此时的查询是先取出前面的2条记录,然后再进行排序。使用子查询就不同了,首先执行子查询时,进行排序,然后主查询再取其前面2条记录(子查询中排好序的)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行