Hitachi

Hitachi Advanced Data Binder SQLリファレンス


7.32.1 内部導出表の適用例

ビュー表を使用した問合せを実行する場合,ビュー表を指定したFROM句に,CREATE VIEW文の指定に基づいた内部的な導出表が適用されます。この導出表を内部導出表といいます。

同様に,WITHリスト要素に指定した問合せ名を使用した問合せを実行する場合も,内部導出表が適用されます。

内部導出表の適用例を次に示します。

〈この項の構成〉

(1) 例1(ビュー表を使用した問合せを実行する場合)

ビュー表を使用した問合せを実行する場合,ビュー表を指定したFROM句に内部導出表が適用されます。内部導出表の適用例を次に示します。

ビュー表の定義例:
CREATE VIEW "V1" ("VC1","VC2")
    AS SELECT * FROM "T1" WHERE "C1">100
実行するSELECT文の例:
SELECT * FROM "V1"

上記のSELECT文を実行した場合,次の内部導出表が適用されます。

内部導出表の適用例:
SELECT * FROM (SELECT * FROM "T1" WHERE "C1">100) AS "V1" ("VC1","VC2")

下線部分が内部導出表です。

(2) 例2(WITH句に指定した問合せ名を使用した問合せを実行する場合)

WITH句に指定した問合せ名を使用した問合せを実行する場合,問合せ名を指定したFROM句に内部導出表が適用されます。内部導出表の適用例を次に示します。

実行するSELECT文の例:
WITH "Q1"("QC1","QC2") AS (SELECT * FROM "T1" WHERE "C1">100)
SELECT * FROM "Q1"

上記の場合,Q1が問合せ名,下線部分がWITH句に指定した問合せ式本体になります。上記のSELECT文を実行した場合,次の内部導出表が適用されます。

内部導出表の適用例:
SELECT * FROM (SELECT * FROM "T1" WHERE "C1">100) AS "Q1" ("QC1","QC2")

下線部分が内部導出表です。