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

Oracle高级查询

嵌套子查询:子查询可以独立运行(不依赖主查询),在主查询执行之前,自内而外。
关联子查询:子查询依赖主查询的数据,同主查询一起执行,自外而内。

最新回答 / KAWHIL
你好,我觉得你的想法不对。打个比方,emp表中的deptno列有10,20和30三个部门,detpno为10的员工有4位,他们的员工名ename分别为a,b,c和d。你想要过滤掉重复的部门使得deptno为10的结果为1条,那我问你在deptno为10的行上,如果要还要显示ename这一列,那该显示a,b,c还是d呢???
第二行查询的rownum是e1里的伪列而不是新创建的rownum 不知道我这样理解是不是对的
select * from emp where ... 查出来的结果集也可以当成一张表来看,就是这个意思。
感谢老师!
group by 后面接的是一个可以分类的类别名词,但是子查询的话,得到是一个数组
select CI_ID, wm_concat(stu_name) STU_NAME
from
(select stu.stu_id, stu.stu_name, ci.ci_id
from pm_ci ci, pm_stu stu
where instr(ci.stu_ids, stu.stu_id)>0)
group by CI_ID
select a.ci_id,
listagg(b.stu_name,',') within group(order by b.stu_id) stu_name
from pm_ci a, pm_stu b
where instr(a.stu_ids,b.stu_id) > 0
group by a.ci_id;
风儿 我是啥来?
逻辑问题 大于任意一个只要大于其中的随便一个就行了,那就是大于最小值就行了。如果是小于任意一个那就是小于其中的随便一个就行了,那当然是小于最大值了。
是不是只要不用group by ,having和where 的用法是一模一样的额
讲的确实好,条例清晰,很容易理解,棒棒哒
课程须知
小伙伴们,学习本课程前需要掌握Oracle的语法基础,并且对Oracle的函数有所了解。如不了解这两部分内容,请移步《Oracle数据库开发必备利器之SQL基础》和《Oracle数据库开发利器之函数》两门教程。
老师告诉你能学到什么?
1、掌握分组查询 2、掌握多表查询 3、掌握子查询

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消