自连接是指在同一张表的连接查询

?       显示员工的上级领导的姓名,比如显示‘FORD’的上级

①查询出FORD这个人的上级编号:

select mgr from emp where ename='FORD';

②显示上级的信息:

select * from emp where empno=(select mgr from emp where ename='FORD');

扩展要求

?       显示各员工的姓名和他的上级领导姓名

思路:把emp表看做两张表(worker,boss)

select worker.ename,boss.ename from emp worker,emp boss where worker.mgr=boss.empno;

疑惑:这里我们看到KING没有显示,因为KING没有上级,如果我们希望把没有上级的人也显示出来,则需要使用外连接。

select worker.ename,boss.ename from emp worker,emp boss where worker.mgr=boss.empno(+);

相关文章:

  • 2021-11-27
  • 2022-12-23
  • 2021-06-19
  • 2021-12-28
  • 2022-12-23
  • 2022-02-07
  • 2022-01-26
  • 2021-12-27
猜你喜欢
  • 2022-02-27
  • 2021-09-24
  • 2022-12-23
  • 2022-02-08
  • 2021-08-31
  • 2022-01-30
相关资源
相似解决方案