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

ORACLE SQL リファレンス

Web oracle.se-free.com
SELECTで取得した値をキーにDELETEする
スポンサード リンク

サンプル表「dept」データ
SQL> select * from dept;

DEP DEPT_NAME
--- ----------
D01 総務部
D02 経理部
D04 営業部
D05 管理部

サンプル表「emp99」データ
SQL> select * from emp99;

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


例1) 表「dept」の列「dept_id」の値で、表「emp99」のレコードを削除する
SQL> delete
  2  emp99 ep
  3  where
  4   ep.dept_id in (
  5    select dp.dept_id from dept dp);

3行が削除されました。

SQL> select * from emp99;

EMP DEP DEPT_NAME EMP_NAME  SALARY
--- --- ---------- ---------- ----------
E03 D03 *****     なまえ3    300


スポンサード リンク


SELECTの結果をINSERTする
SELECTの結果から条件により、INSERTするテーブルを振り分ける(INSERT〜WHEN)
SELECTで取得した値でUPDATEする
更新レコードのデータによって、UPDATEする内容を変更する
レコードが存在しなければINSERT、レコードが存在すればUPDATEする(MERGE)
SELECTで取得した値をキーにDELETEする
重複したレコードをDELETEする

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