先看我的表结构
emp表
自连接也就是把一个表看作是两个作用的表就好,也就是说我把emp看作员工表,也看做领导表
自连接
基本语法
select 字段列表 FROM 表A 别名A JOIN 表A 别名B ON 条件;
例子1:查询员工 及其 所属领导的名字
select a.name, b.name from emp a, emp b where a.managerid = b.id;
例子2:查询所有员工 emp 及其领导的名字 emp , 如果员工没有领导, 也需要查询出来
这个例子是一个特殊的,这个如果用内连接的话肯定是展示不出来的,这个还需要通过外连接里面的左连接才能展示出来
select a.name '员工', b.name '领导' from emp a left join emp b on a.managerid = b.id;
最后附一张黑马程序员的听课记录截图