自加入-SQL-查询

self join-SQL -Query

在采访中提出了以下问题,但无法提供适当的答案。

问题一: 如果我有一个带有员工 ID 和经理的 table,我想以下面的格式显示员工姓名和经理。(员工 ID 1 的经理为空。你需要仅使用自连接)

问题 2:如果我的内连接、右外连接和左外连接的结果相同,table 有什么类型的内容?(我没有得到这个问题的任何样本数据。他问我假设)

谁能帮我找出答案?

问题 1:这是用左连接完成的:

select t1.name, t2.name as manager
from tablename t1
left join tablename t2 on t1.manager = t2.id

问题 2:例如,这些表可以是空的,或者在连接的列和行数上包含相同的数据。

在我脑海中,问题 1 的答案如下所示:

select emp.id,emp.name,emp.department,emp.salary,m.id as manager
from employee emp
left join employee m on m.id=emp.managerid

不太确定我理解第二个问题...

第二个问题的答案是每个人都有一个经理(所以没有 NULL 值)。在这种情况下,无论连接类型如何,结果都是相同的。