如何基于多个表选择SQL结果

cfr*_*ich 25 sql join foreign-keys

我需要根据一些其他表中的某些匹配值从一个表中选择结果.我有以下表格:

person: id, firstname, lastname
team: id, teamname
player: id, person_id(FK), team_id(FK)
coach: id, person_id(FK), team_id(FK)
Run Code Online (Sandbox Code Playgroud)

我需要为每支球队归还所有教练和球员的名字.我只使用过内连接,似乎我不能在这里使用它们,所以任何想法如何做到这一点?

Chr*_*ham 33

这会给你教练:

SELECT team.Teamname, person.Firstname, person.Lastname
FROM person
JOIN coach ON person.id = coach.person_id
JOIN team  ON coach.team_id = team.id
Run Code Online (Sandbox Code Playgroud)

这将给你的球员:

SELECT team.Teamname, person.Firstname, person.Lastname
FROM person
JOIN player ON person.id = player.person_id
JOIN team  ON player.team_id = team.id
Run Code Online (Sandbox Code Playgroud)

因此,非优雅,简单的答案就是将它们全部放在一起UNION.