5—多表查询.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档