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

サブクエリ入門

このレッスンでは、サブクエリという入れ子構造のSQL文を学び、単純な条件だけでは書けない検索ができるようになることを目標にします。「SQL サブクエリ 使い方」で調べている方向けの内容です。

サブクエリとは、SQL文の中に埋め込む別のSQL文のことです。「平均点より高い生徒」のような、単純な条件だけでは書けない検索に使います。先に内側のクエリが実行され、その結果を外側のクエリが利用する仕組みです。

サンプルコードでは、(SELECT AVG(score) FROM students)という内側のクエリで平均点を計算し、それを外側のWHERE score >の条件として使っています。まず内側のカッコの中だけを実行してみると、どんな値が計算されているかを理解しやすくなります。

初心者がよくつまずくのが、サブクエリが複数行の結果を返す場合の扱いです。=のような単一の値と比較する演算子は、サブクエリが1行しか返さない場合にしか使えません。複数行になる場合はINEXISTSを使う必要があります。

最初は少し複雑に感じますが、「まず内側から読む」というコツを掴めば理解しやすくなります。集計値との比較や、別のテーブルの条件を使った絞り込みなど、応用範囲の広いテクニックです。

SQL
OUTPUT / 実行結果

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

🎯
ここまでできればゴール達成!
クエリの中に別のクエリを組み込んで、複雑な条件を表現できるようになります。
広告スペース(バナー)
広告スペース(記事内)