定义:自己连接自己,本表连接本表,表a对表a进行连接,在不给予条件的情况下,自连接是一个笛卡尔积,既表a中每个值对表a都进行一个连接
当我们需要将一张表中的某一行与其他行进行组合时,可以使用自连接
例:查询员工及其主管的姓名
对tb_emp进行自连接
连接前:我们可以得出mgr中的编号即是每位员工的主管编号
自连接后
SELECT * FROM tb_emp as t1 ,tb_emp as t2
注意:要执行自连接操作必须使用表别名来帮助MySQL在单个查询中区分左表与同一张表的右表
当左表中的mgr编号与右表中的eno编号相同时,符合主管定义,则给上条件
select t1.ename as emp_name , t2.ename as mgr_name from tb_emp as t1, tb_emp as t2 where t1.mgr = t2.eno;
得出结果