SQL加入初学者

SQL加入初学者,sql,join,Sql,Join,我对sql非常陌生,我正在努力创建一个查询。我有两张桌子: 性格 特征 名字 姓氏 性别 夫妻 对联 女性 马莱德 现在我试着这样把它组合起来: 女性名字 女性名字 男性名字 男性名字 我试过: SELECT character.firstname AS femaleFName, character.lastname AS femaleLName FROM Couple INNER JOIN Character ON Character.characterID = Couple.femaleID

我对sql非常陌生,我正在努力创建一个查询。我有两张桌子:

性格

特征 名字 姓氏 性别 夫妻

对联 女性 马莱德 现在我试着这样把它组合起来:

女性名字 女性名字 男性名字 男性名字 我试过:

SELECT character.firstname AS femaleFName, character.lastname AS femaleLName
FROM Couple INNER JOIN Character ON Character.characterID = Couple.femaleID

但是现在我正在为第二次加入而挣扎。

您所要做的就是再次加入表。要做到这一点,您必须提供别名,以免混淆表

SELECT 
cf.firstname AS femaleFName, cf.lastname AS femaleLName,
mf.firstname AS maleFName, mf.lastname AS maleLName
FROM Couple 
INNER JOIN Character AS cf ON cf.characterID = Couple.femaleID
INNER JOIN Character AS mf ON mf.characterID = Couple.maleID
关键字AS不是必需的,可以省略。

添加另一个连接,如下所示。这里c是用于区分第二个联接的表别名

SELECT character.firstname AS femaleFName, character.lastname AS femaleLName
FROM character INNER JOIN Couple ON Character.characterID = Couple.femaleID
INNER JOIN Couple c ON Character.characterID = c.maleID

您需要使用自联接来获得所需的结果。根据需要使用以下查询获取结果

Select cf.firstname as femaleFName,
cf.lastname as femaleLName,
cm.firstname as maleFName,
cm.lastname as maleLName
from Couple c 
inner join Character cf on c.femaleID = cf.characterID
inner join Character cm on c.maleID= cm.characterID
我希望这对你有帮助

谢谢