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 Txn_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 >>



Copyright © 2017   1keydata.com   All Rights Reserved