QUESTIONS

问题一:获取SCOTT用户中EMP表里最早入职的前五名雇员?

 

SQL> select top 5 * from emp order by hiredate asc;

 SQL Server中的写法,不适用于Oracle数据库。


下面也是错误的写法

 

SQL> select rownum,empno,ename,hiredate from emp
  2  where rownum<6 
  3  order by hiredate asc;

 正确的写法:

使用了内嵌视图,构造中间的临时查询结果,在这个结果基础上,使用rownum处理

 

 1  select empno,ename,hiredate from (select empno,ename,hiredate from emp
  2  order by hiredate asc)
  3* where rownum<6
SQL> /

 问题二:获取SCOTT用户中EMP表里最早入职的 第 五 名 雇员?

 

1  select empno,ename,hiredate from
  2  (select empno,ename,hiredate from
  3  (select empno,ename,hiredate from (select empno,ename,hiredate from emp
  4  order by hiredate asc)
  5  where rownum<6)  order by hiredate desc)
  6* where rownum<2
SQL> /
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值