假设我有一个员工表。我有名称和经理列。假设有10名员工,其中2名是经理。所以Name将有10个名称,而Manager名称将位于Manager列中。查询员工表的自加入
如何使用自连接?我只是在学习自我加入
假设我有一个员工表。我有名称和经理列。假设有10名员工,其中2名是经理。所以Name将有10个名称,而Manager名称将位于Manager列中。查询员工表的自加入
如何使用自连接?我只是在学习自我加入
要执行自我加入,只需给同一个表另外一个别名。 例如,在您的员工表中,您将拥有一个managerid - 存储经理的id。
例如,你的表是这样的: 然后得到经理的名字 - - 你只是自连接到的职员表上经理ID使用不同的别名(我在下面的示例中使用M)
CREATE TABLE Employees (id INT, Name VARCHAR(20), ManagerId INT);
要得到员工的名字和他/她的经理的名字,你会做这样的事情:
SELECT
e.Name AS EmployeeName,
ISNULL(m.Name, 'No Manager') AS ManagerName
FROM employee e
LEFT JOIN employee m on m.id = e.ManagerId
如果您想了解更多关于自联接 - 见here
你究竟在做什么(可能是样本数据和期望的结果)?从你的问题来看,你不清楚为什么你需要将表加入自己。 – sgeddes 2014-09-19 01:00:24
谢谢,我想学习自己加入申请这个条件。 Donal在下面提到。 – Learner 2014-09-19 01:33:07