部門番号500と600のすべての従業員の部門番号と名前を知るには、UNION演算子を次のように使用します。
SELECT DeptNo, Name FROM Employee WHERE DeptNo = 500 UNION SELECT DeptNo, Name FROM Employee WHERE DeptNo = 600 ;
この問合わせは、次の行を戻します。
DeptNo | Name |
---|---|
500 | Carter J |
500 | Inglis C |
500 | Marston A |
500 | Omura H |
500 | Reed C |
500 | Smith T |
500 | Watson L |
600 | Aguilar J |
600 | Kemper R |
600 | Newman P |
600 | Regan R |
この同じ結果は、次のような単純な問合わせでも生成できますが、
SELECT Name, DeptNo FROM Employee WHERE (DeptNo = 500) OR (DeptNo = 600);
UNION演算子を使用して問合わせを定式化することの利点として、DeptNo列がEmployeeテーブルのプライマリ インデックスである場合、UNION演算子を使用することによって基本選択がプライマリ キー操作になることが保証される、という点があります。OR演算を使用する問合わせがプライマリ インデックスを使用する保証はありません。