SQL SELECT从相同的表中两次

时间:2013-03-06 15:01:42

标签: sql select

什么是从表中选择名称两次的最佳方法

NAME table
Id  Name
1   john
2   zoe
3   joe
4   abby

COUPLE table
NameId NameId2
1      2
3      4

结果应该是

Name  Name
john  zoe
joe   abby

我会做这样的事情

SELECT NAME.Name, NAME2.Name 
FROM COUPLE, NAME, NAME AS NAME2 
WHERE NAME.Id=COUPLE.NameId 
AND NAME2.Id=COUPLE.NameId2

这是获得结果的最佳方式吗? (表现)

2 个答案:

答案 0 :(得分:1)

我最大的建议是使用显式连接,并在SELECT列表中设置第二个名称

SELECT NAME.Name, NAME2.Name Name2
FROM COUPLE
 INNER JOIN NAME ON NAME.Id=COUPLE.NameId 
 INNER JOIN NAME AS NAME2 ON NAME2.Id=COUPLE.NameId2

答案 1 :(得分:1)

SELECT n1.Name, n2.Name
FROM Couple C 
JOIN Name n1 ON (n1.id = c.nameID)
JOIN Name n2 ON (n2.id = c.nameID2)