6.9.3 導出列名の有効範囲
導出列名の有効範囲の例を次の表に示します。
SQL文の例 |
有効範囲 |
||||
---|---|---|---|---|---|
C1 |
C2 |
C3 |
DC3 |
C4 |
|
SELECT "C1","C2" |
○ |
○ |
× |
○ |
× |
FROM "T1", |
○ |
○ |
× |
○ |
× |
(SELECT * |
× |
× |
○ |
× |
× |
FROM "T2" |
× |
× |
○ |
× |
× |
WHERE "C3"=100) |
× |
× |
○ |
× |
× |
"Y"("DC3") |
× |
× |
× |
○ |
× |
WHERE "C1"=100 AND |
○ |
○ |
× |
○ |
× |
"C2"=ANY |
○ |
○ |
× |
○ |
× |
(SELECT "C4" |
× |
× |
× |
× |
○ |
FROM "T3" |
○ |
○ |
× |
× |
○ |
WHERE "DC3"="C4") |
○ |
○ |
× |
○ |
○ |
- (凡例)
-
○:有効範囲内です。
×:有効範囲外です。
T1,T2,T3:表識別子
C1,C2:T1の列名
C3:T2の列名
C4:T3の列名
Y:相関名
DC3:導出表Yの導出列名
SQL文の例 |
有効範囲 |
||||||
---|---|---|---|---|---|---|---|
C1 |
C2 |
GC2 |
C3 |
DC3 |
C4 |
C5 |
|
SELECT "C1","GC2" |
○ |
△ |
○ |
× |
△ |
× |
× |
FROM "T1", |
○ |
○ |
× |
× |
○ |
× |
× |
(SELECT * |
× |
× |
× |
○ |
× |
× |
× |
FROM "T2" |
× |
× |
× |
○ |
× |
× |
× |
WHERE "C3"=100) |
× |
× |
× |
○ |
× |
× |
× |
"Y"("DC3") |
× |
× |
× |
× |
○ |
× |
× |
WHERE "C1"=100 AND |
○ |
○ |
× |
× |
○ |
× |
× |
"C2"=ANY |
○ |
○ |
× |
× |
○ |
× |
× |
(SELECT "C4" |
× |
× |
× |
× |
× |
○ |
× |
FROM "T3" |
○ |
○ |
× |
× |
○ |
○ |
× |
WHERE "DC3"="C4") |
○ |
○ |
× |
× |
○ |
○ |
× |
GROUP BY "C1","C2"+100 AS "GC2" |
○ |
○ |
× |
× |
○ |
× |
× |
HAVING "C1"=100 AND |
○ |
△ |
○ |
× |
△ |
× |
× |
"GC2"=ANY |
○ |
△ |
○ |
× |
△ |
× |
× |
(SELECT "C5" |
× |
× |
× |
× |
× |
× |
○ |
FROM "T4" |
○ |
× |
× |
× |
× |
× |
○ |
WHERE SUM("DC3")="C5") |
○ |
△ |
× |
× |
△ |
× |
○ |
- (凡例)
-
○:有効範囲内です。
△:有効範囲内ですが,グループ化列ではないため,集合関数の引数中に限り指定できます。
×:有効範囲外です。
T1,T2,T3,T4:表識別子
C1,C2:T1の列名
C3:T2の列名
C4:T3の列名
C5:T4の列名
GC2:グループ化列の列名
Y:相関名
DC3:導出表Yの導出列名