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