INSERT 文の応用として「INSERT INTO ... SELECT ...」があります。これは SELECT の結果を別のテーブルに一括挿入する構文で、大量データの転送に使われます。UPDATE 文と DELETE 文では WHERE 句で絞り込まない(省略する)と表全体に適用されるため注意が必要です。また、Oracle 9i 以降では MERGE 文(UPSERT とも呼ばれる)がサポートされており、対象行が存在すれば UPDATE、存在しなければ INSERT という条件付き操作を1つの SQL で実現できます。TRUNCATE TABLE は表のすべての行を削除しますが、DELETE と異なり UNDO ログを生成しないため非常に高速ですが ROLLBACK できません。また、TRUNCATE は自動的に COMMIT を行う DDL 操作です。
試験でのポイント