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
ソフトウェア会社(SIer)で10年以上勤務のシステムエンジニア|ポケットWiFi使用歴2年以上|ポケットWiFi+αで快適でお得なインターネット環境を構築するための情報を発信|その他、IT情報やWebサービス、アプリ、ガジェットなどの情報を発信|自分と他の人のカバンの中身を紹介するメディア「カバンの中身ラボ(https://kaban-no-nakami-labo.com/)」も運営しています。 ポケットWiFi選びに迷ったらTwitter、お問合せフォームからご連絡ください。