SQL〜Progate🐓SQL Ⅲ(1章 サブクエリを使ってみよう)(2章 複数テーブルを活用してみよう)(3章 総合演習)
所要時間は2h。複数テーブルを利用したデータの取得(サブクエリとJOIN)を学びます٩(๑❛ᴗ❛๑)۶今回は3章までなので、なのでね、まとめてやっちまおうと思いますᕦ(ò_óˇ)ᕤ 否、長くなりそう…
🐓playersテーブル
🐓サブクエリ
🐓AS
🐓countriesテーブル
🐓テーブルを紐づける
🐓JOIN(1)
🐓JOIN(2)
🐓teamsテーブル
🐓LEFT JOIN
🐓3つのテーブル結合
【🐓サブクエリ】
2個もクエリを描かなくても良いようにする(2つ以上のクエリを一つにまとめる)。
→クエリの中に他のクエリを入れる。
if文みたい…
→「;」はクエリの最後のみ!(←最後ののみ、って打ってて、「最後の飲み会」に変換されてた…( ̄◇ ̄;));
【🐓AS】
取得したカラム名の表示を変更できる!
この「name」が↓
お名前変更完了!
【🐓countriesテーブル】
テーブルが変わっても、なすべきことは一緒。外交のようだ…
【🐓テーブルを紐づける】
例))「選手ごとのデータ」と、「国ごとのデータ」を比較分析したい時
🌸外部キーと主キー(id)
→同じ数字が入っているレコード同士が紐づいている。
🌸テーブルを紐付けるメリット
→データ管理がしやすい
【🐓JOIN】
🌸テーブルの結合
→紐づいたテーブル同士を合体させる
🌸on
→条件の指定
→結合したテーブルは、一つのテーブルとしてデータを取得できる
こりゃすげー✨✨Σ(・□・;)
↑ joinを含んだクエリでは、joinの次にselectが実行させる。
↑ on内の順序は逆でも大丈夫だった(^^)v
🌸複数テーブルでのカラムの指定
→「それぞれのテーブル名 . name」で指定
→where内でも同様
⚠️SQLは取得するテーブルを形成してから検索を行う
→演習
→これに「group by」で
⚠️「sum」の時はテーブル名いらない💩
【🐓teamsテーブル】
データベースでは、複数のテーブルを作れる
🌸外部キーにnullがある時
→joinを使えるが、nullのレコードは飛ばされて実行結果に反映されない
→joinは、fromで指定したテーブルを基準に実行される
【🐓LEFT JOIN】
🌸nullのレコードを取得したい時
↑同感🤣💛
⚠️left joinを使うと、元となるテーブルの全レコードを取得する
【🐓3つのテーブル結合】
🌸joinを複数回使用
【総合演習】
励まされるわぁ…✨😭💙
最後に、
ここで国ごとのグループを作ると、
【まとめ】
改めて、SQL、スゲー!!!✨✨✨
このシンプルなコードからこれだけのデータを集計して出してくれるとは… シンプルだからこそ、重要なエッセンスが集約されている感じも良いですな✴️ 特に、グループ化しない時のコードと、グループ化した時のコードで実行結果が違うところとか、指令を受け取ったデータベースが「ちょ、ちょ、ちょっと待ってね…💦」な感じで注文に対応してくれる様を擬人化して考えたりする😆
この記事が気に入ったらサポートをしてみませんか?