- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
5—多表查询
多表的查询
多表查询的条件是不能少于表的个数减一。【笛卡儿集】
上图答案:
select a1.ename ,a1.sal, a2.dname from emp a1 ,dept a2 where a1.deptno = a2.deptno;
select a2.dname, a1.ename, a1.sal from dept a2,emp a1 where a1.deptno = a2.deptno and a1.deptno = 10;
select a.ename, a.sal, b.grade from emp a, salgrade b where a.sal between b.losal and b.hisal;
扩展要求答案:
select a1.ename ,a2.dname, a1.sal from emp a1,dept a2 where a1.deptno = a2.deptno order by a1.deptno;
select worker.ename ,boss.ename from emp worker ,emp boss where worker.mgr = boss.empno;
select worker.ename ,boss.ename from emp worker ,emp boss where worker.mgr = boss.empno and worker.ename = FORD;
上图答案:
select * from emp where deptno = (select deptno from emp where ename = SMITH);
select * from emp where job in (select distinct job from emp where deptno = 10);
select ename ,sal, deptno from emp where sal (select max(sal) from emp where deptno = 30);
select * from emp where ( deptno,job) = (select deptno ,job from emp where ename = SMITH);
select a1.ename ,a1.sal,a1.deptno,a2.平均工资 from emp a1,(select deptno ,avg(sal) 平均工资 from emp group by deptno) a2 where a1.deptno = a2.deptno and a1.sal a2.平均工资;
解析:第一步:查询出各个部门的平均工资和部门号。
select deptno ,avg(sal) 平均工资 from emp group by deptno;
第二步:把上面的查询看成一个表。子表。
select a1.ename ,a1.sal,a1.deptno,a2.平均工资 from emp a1,(select deptno ,avg(sal) 平均工资 from emp group by deptno) a2 where a1.deptno = a2.deptno and a1.sal a2.平均工资;
Oracle的分页查询一共有三种方式。
4、查询的几个变化:
a、指定查询列,只需修改最里层的子查询。
b、如何排序?只需修改最里层的子查询。
下面的不是很重要知道就好
文档评论(0)