0
点赞
收藏
分享

微信扫一扫

【笔记】15. 自关联查询

大自然在召唤 2022-01-31 阅读 22
sql
create table t_sanguo(
	eid int primary key,
	ename varchar(20),
	manager_id int,
	foreign key (manager_id) references t_sanguo(eid)
	);
	
-- 添加数据 
insert into t_sanguo values(1,'刘协',NULL);
insert into t_sanguo values(2,'刘备',1);
insert into t_sanguo values(3,'关羽',2);
insert into t_sanguo values(4,'张飞',2);
insert into t_sanguo values(5,'曹操',1);
insert into t_sanguo values(6,'许褚',5);
insert into t_sanguo values(7,'典韦',5);
insert into t_sanguo values(8,'孙权',1);
insert into t_sanguo values(9,'周瑜',8);
insert into t_sanguo values(10,'鲁肃',8);
 
-- 进行关联查询
-- 1.查询每个三国人物及他的上级信息(不包含刘协),如:  关羽  刘备 
select a.eid, a.ename, a.manager_id, b.ename manager from t_sanguo a, t_sanguo b where a.manager_id = b.eid;
-- 2.查询每个三国人物及他的上级信息(包含刘协)
select a.eid, a.ename, a.manager_id, b.ename manager from t_sanguo a left join t_sanguo b on a.manager_id = b.eid;	
-- 3.查询每个三国人物及他的上级和上上级信息(包含刘协)	
select * from (t_sanguo a left join t_sanguo b on a.manager_id = b.eid) left join t_sanguo c on b.manager_id = c.eid;		
举报

相关推荐

0 条评论