SQLの基礎 3
今日も勉強していきます!
・サブクエリ:クエリの中にクエリを書くことができる
例:
SELECT name
FROM players
WHERE goals > (
-- サブクエリ
SELECT goals
FROM players
WHERE name = "ウィル"
)
;
処理はサブクエリから行われる
・AS:カラム名などに別名を定義することができる
例:
SELECT name AS "身長180cm以上の選手"
FROM players
WHERE height >= 180 ;
・JOIN:JOINはONで条件を指定して複数のテーブルを1つに結合する
例:
SELECT *
FROM players ←テーブル名
JOIN countries ←テーブル名
ON players.country_id = countries.id ←結合の条件
;
*JOINはNULLのデータを取得しない!
・LEFT JOIN:外部キーがNULLのレコードもNULLのまま実行結果に表示される
例:
SELECT players.name AS "選手名", teams.name AS "前年所属していたチーム"
FROM players
LEFT JOIN teams
ON players.previous_team_id = teams.id
;
・JOINは複数回行うことができる
例:
SELECT *
FROM players
JOIN countries
ON players.country_id = countries.id
LEFT JOIN teams
ON players.previous_team_id = teams.id
;
*FROMの記述は一度でいい点に気を付ける
サブクエリを記述するときによく手が止まってしまう、、、
あとGROUP BYの理解が足りない印象。。
引き続き頑張っていきます!!