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

Oracle高级查询

有个问题,where不是先过滤在查的嘛,这样多表查询的笛卡尔积岂不没啥影响呀?哦,不对,只是那只是在和having做比较的时候 ,先过滤,后分组
老师讲的很好,清晰易懂 ღ( ´・ᴗ・` )比心
数据多的话用连接查询
select *
from emp join dept on emp.deptno=dept.deptno and dept.dname='sales';
SELECT c.ci_id,WM_CONCAT(s.stu_name) stu_name
FROM pm_ci c ,pm_stu s
WHERE INSTR(c.stu_ids,s.stu_id)>0
GROUP BY c.ci_id;
思路很清晰,棒棒哒

最新回答 / weibo_鼬铭_0
--这里的instr是字符分割函数,行转列函数是wm_concatselect wm_concat(empno) from emp;你可以看下运行结果
SQL文件在哪里下载?
SELECT k.ci_id,wm_concat(x.stu_name) FROM pm_ci k, pm_stu x
WHERE instr(x.stu_id k.stu_ids)>0
GROUP BY k.ci_id
select e.empno,e.ename,b.ename
from emp e left join emp b
on e.mgr = b.empno
order by 3 desc

这样就可以包含子连接中的King没有包含的问题
谷拜子句?
反正可以学到很多东西,工作了我才发现自己SQL写的多差,啥都查不出来
第二层进行<=8的过滤之后只剩下八条数据,然后通过最外层进行筛选时只有八条数据,如果没有在第二层进行过滤,那么最外层是对所有数据进行过滤,而不是剩下的八条,真的很细节的操作。
any讲解时 这个任意一个 是随便一个的意思 也就是说随便大于一个就可以了 ,所以就大于最小的了
课程须知
小伙伴们,学习本课程前需要掌握Oracle的语法基础,并且对Oracle的函数有所了解。如不了解这两部分内容,请移步《Oracle数据库开发必备利器之SQL基础》和《Oracle数据库开发利器之函数》两门教程。
老师告诉你能学到什么?
1、掌握分组查询 2、掌握多表查询 3、掌握子查询

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消