我有 3 个相互引用的表格。联赛、球队和球员。
联赛有leagueid,leaguename,city
球队有teamid,teamname,numberofplayers,leagueid(fk)
玩家有playid,playername,position,teamid(fk)
如何显示诸如 Players 之类的表格以显示所有内容并使用 teamid 外键显示他们的团队名称而不是该列?
我有 3 个相互引用的表格。联赛、球队和球员。
联赛有leagueid,leaguename,city
球队有teamid,teamname,numberofplayers,leagueid(fk)
玩家有playid,playername,position,teamid(fk)
如何显示诸如 Players 之类的表格以显示所有内容并使用 teamid 外键显示他们的团队名称而不是该列?
SELECT Players.*, teamname
FROM Players JOIN Teams USING (teamid)
您只需要加入teamid
两个表之间匹配的列。
您需要加入两个表使用INNER JOIN
.
SELECT a.*, b.*
FROM Players a
INNER JOIN Teams b
ON a.teamid = b.teamid
要进一步了解有关联接的更多信息,请访问以下链接:
通过使用内连接
SELECT b.teamname,a.playername, a.position
FROM Players a
INNER JOIN Teams b
ON a.teamid = b.teamid
如果您指定联赛,
SELECT c.leaguename, c.city ,d.* FROM
(SELECT b.teamname,a.playername, a.position
FROM Players a
INNER JOIN Teams b
ON a.teamid = b.teamid) d
INNER JOIN Leagues c
ON d.leagueid= c.leagueid