17.10 - UNION演算子と外部結合 - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQLデータ操作言語

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Release Date
2021年7月
Content Type
プログラミング リファレンス
Publication ID
B035-1146-171K-JPN
Language
日本語 (日本)

例: 労働時間を調べるためのUnion演算の実行は、外部結合を示しているわけではありません。この操作は、結合条件で一致する結合テーブルのすべての行、および一致しない「左」結合テーブルまたは「右」結合テーブル、あるいは両方のテーブルからの行を返します。さらに、一致しない行はNULLで拡張されます。

ただし、内部結合とUNION演算子を使用して外部結合を実行することができますが、2つの内部結合を合併したものは外部結合ではありません。

2つの内部結合とUNION演算子を使用して外部結合を実行する例を次に示します。2番目の内部結合におけるNULL値の使用法に注意する必要があります。

   SELECT Offering.CourseNo, Offerings.Location, Enrollment.EmpNo
   FROM Offerings, Enrollment
   WHERE Offerings.CourseNo = Enrollment.CourseNo
   UNION
   SELECT Offerings.CourseNo, Offerings.Location, NULL
   FROM Offerings, Enrollment
   WHERE Offerings.CourseNo <> Enrollment.CourseNo;

上記のUNION演算は、上に示した左外部結合の例と同じ次のような結果を戻します。

O.CourseNo O.Location E.EmpNo
C100 El Segundo 235
C100 El Segundo 668
C200 Dayton ?
C400 El Segundo ?