SQL自连接

/*在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 |
+------+------+
| 郑六 | 张三 |
| 张三 | 李四 |
| 王五 | 郑六 |
| 李四 | 王五 |
+------+------+

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值