IF-THEN-ELSE や個別クエリの連打が必要だった「存在すればUPDATE、無ければINSERT」という処理を1つのSQLステートメントでアトミックに実行できるようにした強力な構文です。MERGE INTO ターゲット USING ソース ON (結合条件) から始まり、WHEN MATCHED THEN UPDATE SET ... 句と WHEN NOT MATCHED THEN INSERT ... VALUES ... 句で構成されます。Oracle 10g以降では、どちらか一方の句のみ(例: MATCHED句のみ)を記述することも可能になり、UPDATE句の中に DELETE WHERE 条件 を追加することも可能です。ON 句(結合条件)で指定した列は、WHEN MATCHED THEN UPDATE 句の SET の更新対象列として指定することができない」(指定すると ORA-38104 エラーが発生する)。これは結合の基準キー自体を更新しようとする論理的矛盾を防ぐための制約です。また、ターゲットテーブルとソーステーブルのエイリアス指定ルール、MATCHED / NOT MATCHED 句の片方省略が許可されている点も試験の狙い目です。 特に Oracle Database 特有の挙動(NVLや独自結合記法など)と、ANSI/ISO SQL 標準規格の記法(COALESCEやJOIN構文など)の両方の違いを意識して学習を進めることが得点力アップに直結します。ファクトチェック:ORACLE MASTER Silver SQL 2019 / 1Z0-071-JPN(2026-08-01確認)。試験時間120分、78問、合格ライン63%です。掲載記事は2019試験の学習用で、現行26ai試験とは別資格として扱います。
この記事は公式出題範囲・チェックリストとの対応を編集部で確認した学習解説です。