データベースの用語一覧へ
このページの目次

導出テーブルとは?

最終更新:2026/08/18

3秒でわかる

FROM 句の中に書いたサブクエリを、その場限りのテーブルとして扱う書き方。集計した結果をさらに絞り込みたいときに使います。

もう少し詳しく

どういうものか

導出テーブルは、FROM 句や JOIN の対象としてサブクエリを書き、その結果セットを一時的なテーブルとして扱う仕組みです。インラインビューとも呼ばれます。実体としてデータベースに残るものではなく、そのクエリを実行している間だけ存在します。

多くの製品で別名(エイリアス)を付けることが必須です。MySQL では名前を付けないと構文エラーになります。

なぜ必要か

集計した結果に対して、さらに条件を付けたり結合したりしたい場面があるためです。WHERE は集計の前に評価されるので、SUM() の結果で絞り込むことはできません。いったん集計した結果を導出テーブルにしてしまえば、それはただのテーブルなので、通常どおり条件も結合も書けます。

具体例

-- 合計購入額が 10000 円を超える顧客だけを、顧客名つきで出す SELECT c.name, t.total FROM ( SELECT customer_id, SUM(price * quantity) AS total FROM orders GROUP BY customer_id ) AS t JOIN customers AS c ON c.id = t.customer_id WHERE t.total > 10000 ORDER BY t.total DESC;

内側のサブクエリが顧客ごとの合計を作り、外側はそれを 1 枚のテーブルとして扱っています。

つまずきやすいところ

導出テーブルの中で定義した別名は、外側からは新しい列名でしか参照できません。上の例で外側から SUM(price * quantity) とは書けず、t.total と書きます。

入れ子が深くなると読めなくなるのも実務での問題です。二段以上重ねたくなったら、WITH 句(共通テーブル式)に切り出すと、名前が付いて上から順に読めるようになります。同じ結果を二か所で使いたい場合も、導出テーブルでは二度書くことになりますが、WITH なら一度で済みます。

似た用語との違い

書き方置き場所寿命
導出テーブルFROM 句の中そのクエリの実行中だけ
共通テーブル式(WITH)クエリの先頭そのクエリの実行中だけ。名前を付けて再利用できる
ビューデータベースに定義を保存削除するまで残る
一時テーブルセッション内に実体を作る接続が切れるまで


覚え方

「その場で作って、使い終わったら消える表」です。実体を持たないので、名前を付けないと外側から呼べません。

知識のつながり

サイドバーと同じ推奨ルート・関連語を、まとめて確認できます。

現在地導出テーブルDB

LEARN BY DOING

この用語を、教材で使ってみる

直接関連する編と、その編を含むコースです。用語だけで終わらず、ブラウザ上で実際に手を動かせます。

この用語を扱うコース

コース

SQL入門:データベース操作のきほん

71レッスン
コース

SQL道場 図書館DBに挑む10問

10レッスン
コース

DB設計入門 ER図・正規化・インデックス

47レッスン
SQL・データベースコースの全編を見る