8、SQL查询:连接与集合操作的深入解析

SQL查询:连接与集合操作的深入解析

1. 自连接(Self-Joins)

在SQL查询中,不仅可以在同一个查询里多次包含相同的表,还能将表与自身进行连接,即自连接。以员工表为例,它包含一个自引用的外键 superior_emp_id ,该列指向同一表中的主键,用于表示员工的上级。以下是一个自连接的示例查询,用于列出每个员工及其经理的姓名:

mysql> SELECT e.fname, e.lname,
    ->   e_mgr.fname mgr_fname, e_mgr.lname mgr_lname
    -> FROM employee e INNER JOIN employee e_mgr
    ->   ON e.superior_emp_id = e_mgr.emp_id;

查询结果如下:
| fname | lname | mgr_fname | mgr_lname |
|----------|-----------|-----------|-----------|
| Susan | Barker | Michael | Smith |
| Robert | Tyler | Michael | Smith |
| Susan | Hawthorne | Robert | Tyler |
| … | … | … | … |

这个查询使用了员工表的两个实例,分别用别名 e e_mgr 表示,

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值