広告スペース(バナー)
🗄️SQL レッスン
SELECTの基礎6
データ操作とサブクエリ5
構文の基本を深める7
応用的な条件・結合7
検索とテーブル操作の応用6
高度なクエリ技法6
集計とデータ整合性6
仕上げの機能と応用6
レッスン 33 / 50

WITH句(CTE)で読みやすいクエリを書く

このレッスンでは、WITH句(CTE)を使った読みやすいクエリの書き方を学び、複雑なサブクエリを整理して表現できるようになることを目標にします。「SQL WITH句 CTE 使い方」で調べている方向けです。

WITH 名前 AS (SELECT ...)を使うと、複雑なサブクエリに名前を付けて、その後のクエリから何度でも参照できます。これをCTE(共通テーブル式)と呼び、長いクエリを読みやすく分割するのに役立ちます。

サンプルコードでは、WITH high_scorers AS (...)という形で「80点以上の生徒」を取得するクエリに名前をつけ、それをそのままSELECT * FROM high_scorersで参照しています。派生テーブルと似ていますが、より読みやすい構文になっている点に注目してみましょう。

初心者がよくつまずくのが、CTEと通常のサブクエリのどちらを使うべきかという判断です。入れ子になったサブクエリは読みにくくなりがちですが、CTEを使えば「まずこれを計算し、次にそれを使ってこれを計算する」という手順を上から順番に書けるため、保守性の高いSQLになります。

複雑な集計ロジックを段階的に分解して書きたいとき、CTEは非常に強力なツールになります。実務の分析クエリでも、可読性を高めるために積極的に使われる文法です。

SQL
OUTPUT / 実行結果

💡 初回実行時はSQLエンジンの読み込みに数秒かかります。

🎯
ここまでできればゴール達成!
複雑なクエリを、名前を付けて分かりやすく整理できるようになります。
広告スペース(バナー)
広告スペース(記事内)