2015-11-03 110 views
-1

在面试中,以下问题被询问并且无法提供适当的答案。自我加入-SQL-查询

问题1: 如果我有员工ID和经理,我想在下面的格式与员工的名字和经理来显示它(雇员ID 1表有经理空您需要使用自联接。只有

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

enter image description here

任何人都可以帮我找出答案吗?

回答

2

问题1:这是与左完成加入:

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

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

+0

我可以使用自我加入吗?问题1和2之间没有关系 –

+0

当你自己加入表格时,它是自加入的。是的,你可以做到这一点。 –

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值)。在这种情况下,无论连接类型如何,结果都是一样的。

+0

我得到了使用左连接的O/P,但无法使用自连接进行查询。也请提问,请不要将表格结构作为参考。如果所有连接都给出了相同的结果,那么该表包含的数据类型是什么? –

+1

Err ...这是一个自连接,表连接在它本身上。 –