shinoblog-manabu

Progate(プロゲート)を使って初歩の初歩からプログラミング勉強をはじめました。無料から有料バージョンへ以降しつつ、自分辞書として活用しています。なるべく私と同じ初心者目線を使い、各プログラミング内容を説明したいです。

複数テーブルを活用してみようcountriesテーブル,JOIN(1)

f:id:shinoblog-manabu:20201211153341j:plain

 

グループ化したデータを更に絞り込もう 

 countriesテーブルcountriesテーブルcountriesテーブルcountriesテーブル

 

point

データベースにはどんなカラムがあるのかをまずはじっくりと観察すべき。

なぜなら、サブクエリをどうしたら上手に活用できるかを考えることができるから。

 

 

演習問題

サブクエリの学習方法を忘れたら素直に戻って確認する

サブクエリは「rank」について,「特定の国よりrankの低い国データを取得するデータ」となっている。結果、指定データよりランクデータ数値の小さいデータが取得される。

様々な国を入れ替えてみよう。そうするとどういう仕組の『複数テーブル』なのかが分かるようになってくる

 

忘れた・どうしようもない場合、下記参照

prog-8.com

 

 

テーブルを紐づける(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つの集合データにすること

セミコロンを忘れないこと