【SQL】サブクエリについてまとめてみた!

目次

サブクエリとは

サブクエリ(副問い合わせ)とは、SQLの中に別のSQLを埋め込んで使う機能のことです。

サンプルデータ

・「students」テーブル・・・生徒の一覧を表します。
・「test_scores」テーブル・・・テストの点数を表します。科目は「国語」、「算数」、「理科」、「社会」の4教科。

・studentsテーブル

・test_scoresテーブル

サブクエリが返す結果

サブクエリ(つまり埋め込むSQL)がどんな結果を返すのかによって、サブクエリの使い方が決まります。
具体的には、SQL の結果が単一列なのか複数列なのか、また単一行なのか複数行なのかで4種類に分類できます。

単一列単一行のサブクエリ

・実行結果が単一列単一行のSQL

・単一列単一行のサブクエリ
サブクエリの返す結果を単一値として扱うことができます。

ちなみに1行も返さないSQLをサブクエリに使うとエラーにはならず、結果が空になります。

複数列単一行のサブクエリ

・実行結果が複数列単一行のSQL

・複数列単一行のサブクエリ
サブクエリの返す結果を複合値として扱うことができます。

・単一列複数行のサブクエリ

複数列複数行のサブクエリ

・実行結果が複数列複数行のSQL

・複数列複数行のサブクエリ
テーブル代わりのサブクエリとして扱うことができます。

最後に

今回はサブクエリを勉強しました!
サブクエリを勉強することで、色々な条件を組み合わせたSQLが書けるようになり、幅が広がった気がします。
また更新します!