为了账号安全,请及时绑定邮箱和手机立即绑定

Oracle高级查询

1 select *
2 from (select rownum r,empno,ename,sal
3 from (select rownum ,empno,ename,sal from emp order by sal desc ) e1
4 where rownum <=8 ) e2
5* where e2.r >= 5
6 ;
r应该是e2表的行号的别名,是总表的字段吧 如果不是的话,它的值应该e1表的行号一样!
是不是太简单了点。。。
怎么在更新的时候用自查询返回的多个值啊
Update biaoming a Set lieming=(select b.lieming from biaoming2 b where a.user=b.user)
需要更新多行怎么更新啊

最新回答 / 听雨轩单飞
a和desc之间应该是2个空格,1个空格的话是不对的。 你那边有没有少一个空格呢

最赞回答 / 流芒阿
having和where本身是一个类型的函数可以通用 ,便于区分 先分组过滤和先过滤和后分组 建议 having写到groupby后面
我想看一下视图和索引创建和删除的过程
谢谢慕课网,第一次了解到sql的这个规范
1. dual 确实是一张表.是一张只有一个字段,一行记录的表.
2.习惯上,我们称之为'伪表'.因为他不存储主题数据.
3. 他的存在,是为了操作上的方便.因为select 都是要有特定对象的.
如:select * from mytable ;
select * from myview;
等等.
但如果我们不需要从具体的表来取得表中数据,而是单纯地为了得到一些我们想得到的信息,并要通过select 完成时,就要借助一个对象,这个对象,就是dual;
如我们要计算 999*999 的值,可以用:
select 999*999 from dual;
来实现;
bangbangde
听他的声音听够了,,,,,,头疼

最新回答 / 勇往直前3
SELECT [ALL|DISTINCT]{*|table.*|[table.field1[as alias1][,table.field2[as alias2]][,…]]}FROM table_name[as table_alias][left|out|inner join table_name2] #联合查询[WHERE …] #指定结果需满足的条件[GROUP BY …] #指定结果按照哪几个字段来分组[HAVING …] #过滤分组的记录必须满足的次要条件[ORDER BY …] #指定查询记录...
我猜 因为Oracle产生的早 整个系统不好改了 他必须要兼容以前的 你这么说:难道Oracle的开发人员都是傻子吗?
课程须知
小伙伴们,学习本课程前需要掌握Oracle的语法基础,并且对Oracle的函数有所了解。如不了解这两部分内容,请移步《Oracle数据库开发必备利器之SQL基础》和《Oracle数据库开发利器之函数》两门教程。
老师告诉你能学到什么?
1、掌握分组查询 2、掌握多表查询 3、掌握子查询

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消