MySQL 自连接场景

504 阅读1分钟

数据表

  • employees表

目的

  • 要求查询出员工名和上级的员工名 比如: 员工kochhar 对应的上级id manager_id = 100, 对应的名字是k_ing

使用自连接

  • 查询员工名和上级的员工名

分步:

  1. 查询出员工名和对应的上级id
select a.last_name, a.manager_id from employees a, employees b;

2. 找出上级id对应的名字(自连接)

select a.last_name, b.last_name from employees a, employees b where a.manager_id = b.employee_id;

改写99语法

mysql 99年 加入inner join, 效果一致

select e1.last_name, e2.last_name from employees e1 inner join employees e2 on e1.manager_id = e2.employee_id;