0
点赞
收藏
分享

微信扫一扫

6-4 Oracle表复杂查询 -多表查询


Oracle基础知识整理:C站下载链接

1 Oracle 基础知识

3 Oracle 基本使用

4 Oracle 用户管理

6 -1Oracle 表的管理-创建修改表

6-2 Oracle 表的管理-表查询

6-3 Oracle 表的管理-表复杂查询


文章目录

  • 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';


举报

相关推荐

0 条评论