作者:孙英鹏    撰写时间:2019年3月26日

自连接的关系

今天给大家讲的是ORACLE的自连接的关系,什么是自连接?顾名思义就是自己连自己,为了区分自连接的用法,我们来看一下。

首先看一下题目:
查询员工的id,姓名,附加其上级的姓名

分析:
首先看清楚题意,查询员工姓名和上级姓名,这时可能有人会想到直接查不用自连接,因为员工姓名和上级姓名都在一张员工表里面,但我想说的是你错了,这样连接的话会出现员工姓名和上级姓名混乱,因为员工表有的员工是没有上级的,这样查出的数据是假数据,所以不能这样查,一定要用自连接方法。

不用自连接的答案:

方法1:
SELECT EMPLOYEE_ID , LAST_NAME , MANAGER_ID , LAST_NAME
FROM EMPLOYEES
ORDER BY EMPLOYEE_ID ASC;

方法2:
SELECT E.EMPLOYEE_ID , E.LAST_NAME , E.MANAGER_ID , D.LAST_NAME
FROM EMPLOYEES E , EMPLOYEES D
WHERE D.EMPLOYEE_ID = E. EMPLOYEE_ID
ORDER BY EMPLOYEE_ID ASC;

方法1和方法2都是错误的用法,方法1很明显是错的,方法2是把员工ID和员工ID弄混了,应该是员工ID和上级ID,这样才能查出来。

错误结果:
自连接的关系

自连接的答案:

SELECT E.EMPLOYEE_ID , E.LAST_NAME , E.MANAGER_ID , D.LAST_NAME
FROM EMPLOYEES E , EMPLOYEES D
WHERE D. EMPLOYEE_ID = E. MANAGER_ID
ORDER BY EMPLOYEE_ID ASC;你

正确结果:
自连接的关系

相关文章:

  • 2022-02-08
  • 2021-04-19
  • 2022-02-27
  • 2022-12-23
  • 2021-04-17
  • 2021-05-24
  • 2021-12-12
  • 2021-08-17
猜你喜欢
  • 2021-11-30
  • 2022-12-23
  • 2022-01-30
  • 2022-12-23
  • 2022-12-23
  • 2021-10-24
  • 2021-07-18
相关资源
相似解决方案