プロジェクト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文が同じ数の式を持つことになります。