10.4 自连接
10.4.1 什么是自连接
自连接:将表与其自身,也就是和同名的表进行连接。
因为是两个同名的表进行连接,如果直接进行连接就会显示出两个同名的列,这样就无法对列进行识别(发生错误),因此连接时必须定义别名。
命令格式:SELECT 列名 FROM 表名 AS 别名1 JOIN 表名 AS 别名2;
我们可以给同一个表添加2个别名,但是执行的话会长生一些麻烦。
练习:对员工信息表tb1进行自连接,并显示所有列。
输入&执行结果:
mysql> SELECT * FROM tb1 AS a
-> JOIN tb1 AS b;
+-------+------+------+-------+------+------+
| empid | name | age | empid | name | age |
+-------+------+------+-------+------+------+
| A101 | 佐藤 | 40 | A101 | 佐藤 | 40 |
| A102 | 高桥 | 28 | A101 | 佐藤 | 40 |
| A103 | 中川 | 20 | A101 | 佐藤 | 40 |
| A104 | 渡边 | 23 | A101 | 佐藤 | 40 |
| A105 | 西泽 | 35 | A101 | 佐藤 | 40 |
| A101 | 佐藤 | 40 | A102 | 高桥 | 28 |
| A1