MySQL自连接

MySQL自连接允许在同一张表上进行连接操作,通过设置表别名形成虚拟的两张表。这种技术常用于展示行与其他行的关系,如在员工信息表中查找每个领导及其下属的姓名。一个例子是查询所有领导者的姓名和他们的下属员工姓名,通过自连接以领导的工号匹配下属的直属领导工号实现这一目的。
摘要由CSDN通过智能技术生成

MySQL自连接就是在同一张表上自己连接自己,参与连接的表是同一张表,通过设置表别名虚拟出两张表。
当我们想将表中行与同一表中的其他行组合或运算时,可以使用自连接。要执行自连接操作必须使用表别名来帮助MySQL在查询中区分连接后的虚拟结果集中的字段。
示例
员工信息表中有每位员工的工号、姓名、职位、直属领导工号、入职日期、底薪、提成和所属部门,其中13位员工分别有对应的直属领导,一位领导会有多名下属员工,现在需要查询所有领导者的姓名及其对应的下属员工的姓名。

mysql> select * from emp;
+-------+--------+------------+------+------------+------+------+--------+
| empno | ename  | job        | mgr  | hiredate   | sal  | comm | deptno |
+-------+--------+------------+------+------------+------+------+--------+
|  7369 | smith  | clerk      | 7902 | 1980-12-17 |  800 | NULL |     20 |
|  7499 | allen  | salesman   | 7698 | 1981-02-20 | 1600 |  300 |     30 |
|  7521 | ward   | salesman   | 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值