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 表示,
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



