テーブルのレコードを削除するSQL文|DELETE

テーブルの保存されている行(レコード)を削除するSQL文DELETEの紹介。

基本のDELETE構文

delete
    from
        TABLEB

TABLEBの全ての行を削除します。

条件付きDELETE構文

delete
    from
        TABLEB
    where
        TBLBCOL01   =   1

TABLEBの
列TBLBCOL01の値が

「1」の行を削除します。

他テーブルの値を使ってDELETE構文

副問い合わせには多数の構文がありますが、その一部を紹介します。

副合わせINを使用してDELETE構文

delete
    from
        TABLEB
    where
        TBLBCOL01   in
            (
                select
                        TBLACOL01
                    from
                        TABLEA
            )

TABLEBの行を削除しますが

TABLEAの列TBLACOL01と
TABLEBの列TBLBCOL01が

一致する行をTABLEBから削除します。

副問い合わせEXISTSを使用してDELETE構文

delete
    from
        TABLEB
    where
        EXISTS
            (
                select
                        1
                    from
                        TABLEA
                    where
                        TBLACOL01   =   TBLBCOL01
            )

先のSQL文と同様に

TABLEBの行を削除しますが

TABLEAの列TBLACOL01と
TABLEBの列TBLBCOL01が

一致する行をTABLEBから削除します。

 

コメント