複数テーブルを活用してみようcountriesテーブル,JOIN(1)
グループ化したデータを更に絞り込もう
countriesテーブルcountriesテーブルcountriesテーブルcountriesテーブル
point
データベースにはどんなカラムがあるのかをまずはじっくりと観察すべき。
なぜなら、サブクエリをどうしたら上手に活用できるかを考えることができるから。
演習問題
サブクエリの学習方法を忘れたら素直に戻って確認する
サブクエリは「rank」について,「特定の国よりrankの低い国データを取得するデータ」となっている。結果、指定データよりランクデータ数値の小さいデータが取得される。
様々な国を入れ替えてみよう。そうするとどういう仕組の『複数テーブル』なのかが分かるようになってくる
忘れた・どうしようもない場合、下記参照
テーブルを紐づける(1)
複数テーブルを一緒に使うことは可能複数テーブルを一緒に使うことは可
テーブルを紐づける(2)
外部キーと主キーを紐付けする外部キーと主キーを紐付けする外部キーと
ポイント
紐付けされるのは、「同じ数字同士のレコード」
と覚える
テーブルが紐づく仕組み
複数テーブルを一緒に使うことは可能ountriesテーブルcountriesテーブルcountriesテーブルcountriesテーブル
主キー+外部キー
こう覚える。
ただし、主キー、外部キーどちらかない場合、作成する必要がある
テーブルを紐づけるメリット
countriesテーブルcountriesテーブルcountriesテーブルcountriesテーブル
数字の更新が楽になる。複数の関連する数字は変化すると、それぞれ更新しなければならなくなるから。
紐付けすることで、更新の手間を省くことができる。
演習問題
・カラムの合計方法を思い出そう
・グループ化ごとの合計点数を見るためには、country_idをグループ化すること。
テーブルの結合
複数のテーブルを1つに結合したい複数のテーブルを1つに結合したい複数の
テーブルの結合には JOIN を使う
JOINとは
JOINJOINJOINJOINJOINJOINJOINJOINJOINJOINJOINJOINJOINJOINJOINJOINJ
SELECT データ範囲
FROM
JOIN
ON
こう書く
結合条件
結合条件は「ON テーブル名.カラム名 = テーブル名.カラム名」結合条件は「
-point-
結合条件をしっかりと把握すること
JOINの実行順序
JOINJOINJOINJOINJOINJOINJOINJOINJOINJOINJOINJOINJOINJOINJOINJOINJ
データ名A.キーA(キーというのはキーワード)データB.キーB
;
・必ずデータ名とキーはセットにすること
・ドットを使って1つの集合データにすること
・セミコロンを忘れないこと