Hitachi

Hitachi Advanced Database SQL Reference


6.9.3 Effective scope of derived column names

The examples in the following tables illustrate the effective scope of derived column names.

Table 6‒17: Example of the effective scope of derived column names (without GROUP BY clause)

Example SQL statement

Effective scope

C1

C2

C3

DC3

C4

SELECT "C1","C2"

Y

Y

N

Y

N

[Figure]FROM "T1",

Y

Y

N

Y

N

[Figure][Figure](SELECT *

N

N

Y

N

N

[Figure][Figure][Figure]FROM "T2"

N

N

Y

N

N

[Figure][Figure][Figure]WHERE "C3"=100)

N

N

Y

N

N

[Figure][Figure]"Y"("DC3")

N

N

N

Y

N

[Figure]WHERE "C1"=100 AND

Y

Y

N

Y

N

[Figure][Figure][Figure][Figure]"C2"=ANY

Y

Y

N

Y

N

[Figure][Figure][Figure][Figure][Figure][Figure][Figure](SELECT "C4"

N

N

N

N

Y

[Figure][Figure][Figure][Figure][Figure][Figure][Figure][Figure]FROM "T3"

Y

Y

N

N

Y

[Figure][Figure][Figure][Figure][Figure][Figure][Figure][Figure]WHERE "DC3"="C4")

Y

Y

N

Y

Y

Legend:

Y: Has scope.

N: Does not have scope.

T1,T2,T3: Table identifier

C1, C2: T1 column name

C3: T2 column name

C4: T3 column name

Y: Correlation name

DC3: Derived column name of derived table Y

Table 6‒18: Example of the effective scope of derived column names (with GROUP BY clause)

Example SQL statement

Effective scope

C1

C2

GC2

C3

DC3

C4

C5

SELECT "C1","GC2"

Y

A

Y

N

A

N

N

[Figure]FROM "T1",

Y

Y

N

N

Y

N

N

[Figure][Figure](SELECT *

N

N

N

Y

N

N

N

[Figure][Figure][Figure]FROM "T2"

N

N

N

Y

N

N

N

[Figure][Figure][Figure]WHERE "C3"=100)

N

N

N

Y

N

N

N

[Figure][Figure]"Y"("DC3")

N

N

N

N

Y

N

N

[Figure]WHERE "C1"=100 AND

Y

Y

N

N

Y

N

N

[Figure][Figure][Figure][Figure]"C2"=ANY

Y

Y

N

N

Y

N

N

[Figure][Figure][Figure][Figure][Figure](SELECT "C4"

N

N

N

N

N

Y

N

[Figure][Figure][Figure][Figure][Figure][Figure]FROM "T3"

Y

Y

N

N

Y

Y

N

[Figure][Figure][Figure][Figure][Figure][Figure]WHERE "DC3"="C4")

Y

Y

N

N

Y

Y

N

[Figure]GROUP BY "C1","C2"+100 AS "GC2"

Y

Y

N

N

Y

N

N

[Figure]HAVING "C1"=100 AND

Y

A

Y

N

A

N

N

[Figure][Figure]"GC2"=ANY

Y

A

Y

N

A

N

N

[Figure][Figure][Figure](SELECT "C5"

N

N

N

N

N

N

Y

[Figure][Figure][Figure][Figure]FROM "T4"

Y

N

N

N

N

N

Y

[Figure][Figure][Figure][Figure]WHERE SUM("DC3")="C5")

Y

A

N

N

A

N

Y

Legend:

Y: Has scope.

A: Has scope, but is not a grouping column, so can only be specified as the argument of a set function.

N: Does not have scope.

T1,T2,T3,T4: Table identifier

C1, C2: T1 column name

C3: T2 column name

C4: T3 column name

C5: T4 column name

GC2: the names of the grouping columns

Y: Correlation name

DC3: Derived column name of derived table Y