17.05 - 例: 名前、プロジェクト、および従業員の時間の選択 - Advanced SQL Engine - Teradata Database

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

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

プロジェクトOE1-0001に割り当てられた従業員の名前と、そのプロジェクト名、それに費やされた時間数、プロジェクトに割り当てられていない従業員の名前を選択するには、次の問合わせを使用します。

   SELECT Name, Proj_Id, Hours
   FROM Employee,Charges 
   WHERE Employee.Empno = Charges.Empno 
   AND Proj_Id IN ('OE1-0001')
   UNION
   SELECT Name, NULL (CHAR (8)), NULL (DECIMAL (4,2)) 
   FROM Employee 
   WHERE Empno NOT IN
   (SELECT Empno 
   FROM Charges);

この問合わせは、次の行を戻します。

名前 プロジェクトID 時間
Aguilar J ? ?
Brandle B ? ?
Chin M ?  
Clements D ? ?
Kemper R    
Marston A ? ?
Phan A ? ?
Regan R ? ?
Russell S ? ?
Smith T    
Watson L    
Inglis C 0E1-0001 30.0
Inglis C 0E1-001 30.5
Leidner P 0E1-001 10.5
Leidner P 0E1-001 23.0
Moffit H 0E1-001 12.0
Moffit H 0E1-001 35.5

この例では、2番目のSELECT文の列2と列3で、nullの式が使用されています。このnullの式は位置のマーカーとして使用されているので、この問合わせの両方のSELECT文が同じ数の式を持つことになります。