相互に参照する 3 つのテーブルがあります。リーグ、チーム、およびプレイヤーです。
リーグにはリーグ ID、リーグ名、都市
があります チームにはチーム ID、チーム名、プレイヤー数、リーグ ID(fk)
があります プレイヤーにはプレイヤー ID、プレイヤー名、ポジション、チーム ID(fk) があります
Players などのテーブルを表示してすべてのコンテンツを表示し、teamid 外部キーを使用して、その列の代わりにチーム名を表示するにはどうすればよいですか?
相互に参照する 3 つのテーブルがあります。リーグ、チーム、およびプレイヤーです。
リーグにはリーグ ID、リーグ名、都市
があります チームにはチーム ID、チーム名、プレイヤー数、リーグ ID(fk)
があります プレイヤーにはプレイヤー ID、プレイヤー名、ポジション、チーム ID(fk) があります
Players などのテーブルを表示してすべてのコンテンツを表示し、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
SELECT Players.*, teamname
FROM Players JOIN Teams USING (teamid)
teamid
2 つのテーブル間で一致する列を結合するだけです。
を使用して両方のテーブルを結合する必要がありますINNER JOIN
。
SELECT a.*, b.*
FROM Players a
INNER JOIN Teams b
ON a.teamid = b.teamid
結合についてさらに詳しく知りたい場合は、以下のリンクにアクセスしてください。