Oracle基础知识整理:C站下载链接
文章目录
6 Oracle 表的管理
6.5 oracle表的管理 -表查询(重点)
6.5.3 Oracle表复杂查询 -多表查询
·说明
【笛卡尔集】
·扩展要求
·自连接
6 Oracle 表的管理
6.5 oracle表的管理 -表查询(重点)
6.5.3 Oracle表复杂查询 -多表查询
·说明
多表查询是指基于两个和两个以上的表或是视图的查询,在实际应用中,查询单个表可能不能满足你的需求,(如显示sales部门位置和其员工的姓名),这种情况下需要使用到(dept表和emp表)
【笛卡尔集】
规定:多表查询的条件是至少不能少于表的个数-1
显示雇员名,雇员工资以及所在部门的名字
select ename,sal,dname from emp,dept where emp.deptno=dept.deptno;
如何显示部门号为10 的部门名、员工名和工资
select ename,sal,dname from emp,dept where emp.deptno=dept.deptno and dept.deptno=10;
显示各个员工的姓名、工资,及其工资的级别
select ename,sal,grade from emp,salgrade where sal between losal and hisal;
·扩展要求
显示雇员名,雇员工资及所在部门的名字,并按部门排序。
select ename,dname,sal from emp,dept where emp.deptno=dept.deptno order by dept.deptno;
·自连接
自连接: 是指在同一张表的连接查询
显示某个员工的上级领导的姓名 ;比如显示“FORD”的上级
方法一:
select ename from emp where empno=(select mgr from emp where ename='FORD');
方法二:(比较好)
select worker.ename,boss.ename from emp worker,emp boss where worker.mgr=boss.empno and worker.ename='FORD';