/*在employee中的每一个员工都有自己的,并且每一个经理自身也是公司的员工,自身也有自己的经理。
*下面我们需要将每一个员工自己的名字和经理的名字都找出来。这时候我们该怎么做呢?
*/
drop table if exists employee;
/*==============================================================*/
/* Table: employee */
/*==============================================================*/
create table employee
(
work_id int not null,
name varchar(10),
manager_id int,
primary key (work_id)
);
delete from employee;
insert employee(work_id, name, manager_id) values(1, "张三", 2);
insert employee(work_id, name, manager_id) values(2, "李四", 4);
insert employee(work_id, name, manager_id) values(3, "郑六", 1);
insert employee(work_id, name, manager_id) values(4, "王五", 3);
select * from employee;
+---------+------+------------+
| work_id | name | manager_id |
+---------+------+------------+
| 1 | 张三 | 2 |
| 2 | 李四 | 4 |
| 3 | 郑六 | 1 |
| 4 | 王五 | 3 |
+---------+------+------------+
/* 输出员工与他对应的经理 */
select worker.name, manager.name
from employee worker inner join employee manager
on worker.manager_id = manager.work_id;
+------+------+
| name | name |
+------+------+
| 郑六 | 张三 |
| 张三 | 李四 |
| 王五 | 郑六 |
| 李四 | 王五 |
+------+------+
SQL自连接
最新推荐文章于 2023-12-11 15:43:15 发布