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の理解が足りない印象。。

 

引き続き頑張っていきます!!