スカラサブクエリと複数レコードを返すサブクエリ

SQL文の中にSELECT文を埋め込むことができます。埋め込まれたSELECT文によって抽出された値を利用することで、色々な条件指定をすることができます。

単一の結果を返すサブクエリ

スカラ値(単一の値) を返すサブクエリのことを スカラサブクエリ といいます。スカラサブクエリの使用例です。

SELECT カラム1, (SELECT SUM(カラムA) FROM テーブル2) AS SUMVALUE
FROM テーブル1
SELECT カラム1, AVG(カラム2)
FROM テーブル1
GROUP BY カラム1
HAVING AVG(カラム2) > (SELECT AVG(カラム2) FROM テーブル1)

複数の結果を返すサブクエリ

複数レコードを抽出する場合の使用例です。

SELECT id 
FROM テーブル1
WHERE id IN (SELECT テーブル1_id 
               FROM テーブル2
              WHERE 種別 = 5)
SELECT テーブル1.*, テーブル2_cnt.count
FROM テーブル1 
LEFT JOIN (SELECT テーブル1_id, count(テーブル1_id) 
              FROM テーブル2 
             WHERE 条件 
          GROUP BY テーブル2.テーブル1_id) as テーブル2_cnt
ON テーブル1.id = テーブル2_cnt.テーブル1_id 
WHERE 条件
わくわくBank.
フリーランスのエンジニアとして活動してます。ここでは、ソフトウェア開発で必要とされる技術、用語、概念を整理しています。