30DAYSトライアル4th

30DAYSトライアル4th(Rails)のまとめ【DAY9】

4th(Rails)Day9の課題は「Progate SQL コースⅢ」です。

ProgateのSQL編の最終日になります。

クエリの中にクエリを入れる:サブクエリ

WHEREの条件にクエリを指定することができ、サブクエリという

サブクエリが実行された後にメインのクエリが実行される。

カラムに別名をつける:AS

SELECTのカラム名に「カラム名 AS 別名」と記述することでクエリ結果のカラム名を任意のものに変更できる。

テーブルの結合:JOIN

以下のように記述することで2つのテーブルを結合して1つのテーブルのように扱うことができる。

上記の場合に外部キーのカラムがNULLのレコードは実行結果に表示されないが、「JOIN」部分を「LEFT JOIN」とすることで外部キーがNULLのレコードもそのまま表示することができる。

また「JOIN テーブル名 ON 結合条件」を繰り返し記述することで、3つ以上のテーブルを結合することも可能。

クエリ全体の実行順序

  1. テーブルの指定:FROM
  2. 結合:ON・JOIN
  3. 取得条件:WHERE
  4. グループ化:GROUP BY
  5. 関数:COUNT・SUM・AVG・MAX・MIN
  6. グループ化後の取得条件:HAVING
  7. 検索:SELECT・DISTINCT
  8. ソート:ORDER BY
  9. 件数制限:LIMIT

まとめ

ProgateのSQLコースはⅣまでありますが、30DAYSトライアルの中では終了になります。

SQLはクエリの組み方などでレスポンスに大きく影響するので、処理順であったり結合順であったりということをきちんと意識する必要がありますが、Railsでは直接SQLを組むことはないということなので、そこをどう吸収しているのか楽しみです。

ABOUT ME
Jyu2
【PC1台で稼ぐブロガー兼Webエンジニアを目指し中】IT情報やWebサービス、アプリなどの情報を発信/SIerで10年以上勤務→ストレスMAXで休職中→ブログとWebの学習を行い脱サラ計画中/ #30DAYSトライアル 1st完了→2nd実施中 / 日々の学習内容をブログにアウトプット / まずは月収5万円を目指す