SQL Subquery


SQL SELECT
SQL DISTINCT
SQL WHERE
SQL AND OR
SQL IN
SQL BETWEEN
SQL LIKE
SQL ORDER BY
SQL 関数
SQL COUNT
SQL GROUP BY
SQL HAVING
SQL 別名
SQL 結合
SQL 外部結合
SQL SUBQUERY
SQL UNION
SQL UNION ALL
SQL INTERSECT
SQL MINUS
SQL CONCATENATE
SQL SUBSTRING
SQL TRIM


サイトのご案内

  SQL > SQL コマンド > Subquery

私たちは、一つのSQL文に、もう一つのSQL文を入れることができます。そこで、 WHERE 句又は HAVING 句にもう一つのSQL文を挿入した場合、subqueryの構文ができました。Subquery の用途は何ですか。まず、テーブルの結合に使われます。それから、時にはsubquery が二つのテーブルを結合する唯一の方法になります。

Subquery のプログラミングは次のようになります。

SELECT "フィールド1"
FROM "テーブル1"
WHERE "フィールド2" [比較演算子]
(SELECT "フィールド1"
FROM "テーブル2"
WHERE [条件])

[比較演算子] は =、>、<、>=、<=などの演算子があり、 "LIKE."等のような文字に対する演算子があります。

先ほど SQL の結合について述べられた例:

Store_Information テーブル
store_name Sales Date
Los Angeles $1500 Jan-05-1999
San Diego $250 Jan-07-1999
Los Angeles $300 Jan-08-1999
Boston $700 Jan-08-1999

Geography テーブル
region_name store_name
East Boston
East New York
West Los Angeles
West San Diego

subquery を利用して、西にある店の売上をすべて調べる場合、次のSQLで使えることができます。

SELECT SUM(Sales) FROM Store_Information
WHERE Store_name IN
(SELECT store_name FROM Geography
WHERE region_name = 'West')

の結果ができます。

SUM(Sales)
2050

この例では、二つのテーブルを直接に結合しませんが、西にある店の売上をすべて直接に計算することができます。それは、まず、どんな店が西にあるのかを調べます。それから、それらの店の売上を計算し、合計します。

SQL UNION >>