0

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

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

这是获得结果的最佳方式吗?(性能)

4

2 回答 2

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)
于 2013-03-06T15:09:27.320 回答
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
于 2013-03-06T15:07:22.100 回答