相関名

相関名 は、照会の FROM 文節内、および UPDATE、MERGE、または DELETE ステートメントのターゲット表名またはビュー名の後に定義できます。

例えば、次の文節は X.MYTABLE の相関名として Z を設定します。
FROM X.MYTABLE Z

Z を表 X.MYTABLE の相関名として定義した場合、その SELECT ステートメント 内で X.MYTABLE の列に対する参照を修飾するために使用するのは、Z だけにしてください。

相関名は、それが定義されているコンテキストにおいてのみ、表、ビュー、ネストされた表の式 または表関数と関連付けられています。 したがって、1 つの相関名を、別々の ステートメントの中で異なる目的のために定義することができます。 ネストされた表の式または表関数では、相関名が必要です。

修飾子としての相関名は、あいまいさの回避や、相関参照の確立に利用できます。 また、相関名は、単に表名またはビュー名を短くした名前として使うこともできます。 この例では、X.MYTABLE と何度も入力するのを避けるためだけに Z が使用されていたとも考えられます。

FROM 文節内で指定する名前は、直接的 または間接的 な名前です。 相関名は常に直接的な名前です。 相関名が指定されていない場合、表名またはビュー名はその FROM 文節内で直接的であるといいます。 例えば、次の FROM 文節内で、EMPLOYEE に対しては相関名が指定されていますが、DEPARTMENT に対しては指定されていません。このため、DEPARTMENT は直接的な名前、EMPLOYEE は間接的な名前です。
FROM EMPLOYEE E, DEPARTMENT 
FROM 節で相関名を使用することにより、 結果表の列に関連付けられる列名のリストを指定することもできます。 相関名の場合と同様に、リストする列名は 、SELECT ステートメント内の列を参照するために使用する名前でなければなりません。 例えば、DEPT 表内の最初の列の名前が DEPTNO であるとします。 SELECT ステートメント内で次の FROM 文節を使用するとします。
  FROM DEPT D (NUM,NAME,MGR,ANUM,LOC)
表の最初の列を参照するには D.DEPTNO の代わりに D.NUM を使用する必要があります。

列のリストを指定する場合は、table-reference にある列数と同じ数の名前をそのリストに指定する必要があります。 それぞれの列は、固有かつ非修飾であることが必要です。