ORACLE SQL リファレンス(逆引き)


Web oracle.se-free.com
2つのSELECT文の結果の差異を取得する(MINUS)
スポンサード リンク

2つのSELECT文の結果の差異を取得するには、MINUSを使用する

SELECT 列1,列2 FROM 表A
MINUS
SELECT 列1,列2 FROM 表B
表Aと表BのSELECT結果で、表Aに存在する結果レコードのみ取得する。


サンプル表「emp01」データ

SQL> select * from emp01;

EMP DEP NAME     SALARY
--- --- ---------- ----------
E01 D01 なまえ1    100
E02 D01 なまえ2    200
E03 D02 なまえ3    300
E04 D03 なまえ4    400


サンプル表「emp02」データ

SQL> select * from emp02;

EMP DEP NAME     SALARY
--- --- ---------- ----------
E01 D01 なまえ1    100
E02 D01 なまえ2    200
E05 D05 なまえ5    500



例1) 表「emp01」と表「emp02」のSELECT結果で表「emp01」に存在する結果のみ取得する

SQL> select * from emp01
2  minus
3  select * from emp02;

EMP DEP NAME     SALARY
--- --- ---------- ----------
E03 D02 なまえ3    300
E04 D03 なまえ4    400

  表「emp01」と表「emp02」のSELECTした列数が同じでないとMINUSはできない


スポンサード リンク

内部結合(INNER JOIN)
外部結合(OUTER JOIN、(+))
インラインビューの利用
複雑なSQLの可読性を高める(WITH句)
スカラー副問合せ
複数のSELECT文の結果をマージする(UNION、UNION ALL)
2つのSELECT文の結果の差異を取得する(MINUS)
2つのSELECT文の結果の重複データを取得する(INTERSECT)

SQL(DML2) へ
忘れっぽいエンジニアのオラクルSQLリファレンス TOPへ