爱玺玺

爱玺玺的生活日记本。wx:lb87626

精简求上级的名字方法,表自己关联自己,关联就是抛个条件到另个表找到需要的返回给自己

use BBB;

select * from emp;

--其实就是表自己关联自己

select e1.ename,e2.ename from emp as e1 left join emp as e2 on e1.mgr=e2.empno 

--关联的重要思想,脑海里要明确,把自己的一个记录抛出去到另一个表,再另一个表找到记录再返回给自己

-- e1 left join emp as e2 就是这两个表有关系,左边的e1抛个条件给右边的e2

--e1.mgr=e2.empno  就是把e1的记录抛个e2,在e2返回


--其它左关联,内关联可以用同样思路理解



--右关联就要这么写
select e1.ename,e2.ename from emp as e1 right join emp as e2 on e2.mgr=e1.empno

--现在的对应关系就是右边的e2抛个条件给左边的e1,因此on 后面就必须先写e2.mgr,e2.mgr=e1.empno就是e2抛个条件mgr给e1的empno匹配,如果这里不改的话会出问题


--这么写是错误的
select e1.ename,e2.ename from emp as e1 right join emp as e2 on e1.mgr=e2.empno



发表评论:

Powered By Z-BlogPHP 1.4 Deeplue Build 150101

Copyright Your WebSite.Some Rights Reserved.

蜀ICP备11021721号-5