注册 登录
编程论坛 SQL Server论坛

怎么理解!

w5644266 发布于 2007-04-21 23:18, 539 次点击
本人做的表是:

姓名 VIRCHAR2(8)
工资 number(7,2)

想列出工资第5多的员信息?
select * from emp
where sal=(
select sal from (select rownum id, a.* from (select distinct sal from emp order by sal desc) a) where id=5);


首先那个姓名和工资是两个表不!那个黄色部分的东西是不是可以不要啊!为什么一定要它呢!temp 和 a 是不是代指的上面的那两个表啊!

知道的人都帮帮忙啊!都积极点啊!一方有难 八方支援 啊 发扬咋中国人的传统美德啊!



[此贴子已经被作者于2007-4-21 23:21:45编辑过]

2 回复
#2
Kendy1234562007-04-23 15:45
首先这个表你说是你做的 然后你问我们工资和姓名是2个表不! ......

这段代码很明显 只有一个表emp.
a 是需要的 为什么需要 因为没有就会报错! 以结果集作为数据集的时候 SQL就是这么定义的

建议你好好看看书先
#3
zhangbo851282007-04-23 16:28

支持楼上意见

1