DELETEとは?でりーと
DELETEとは、表(テーブル)から、条件に合う行をまとめて削除するSQLの文。「DELETE FROM 表名 WHERE 条件」と書き、「この表から、条件に合う行を消せ」という意味になる。WHERE句を省くと表の全行が消えるが、表そのもの(列の定義)は残る。データを操作する文(DML:データ操作言語)の一つで、SELECT(取り出す)・INSERT(行を追加する)・UPDATE(値を書き換える)と並べて問われる。
最終更新:2026-10-10
基本情報を最短で暗記・合格する →背景
表に貯めたデータは、取り消された注文や退会した会員のように、いずれ不要な行が出てくる。1行ずつ探して消していては手間がかかり、消し漏れも出る。SQLは取り出し(SELECT)と同じWHERE句の書き方で削除する行も指定できるようにし、条件を1つ書けば該当する行をまとめて消せる形にした。
具体例
「DELETE FROM 注文 WHERE 状態 = '取消'」は、注文表のうち状態が「取消」の行だけを消す。fe の過去問には「DELETE FROM 商品 WHERE 仕入先コード IS NULL」が出ており、仕入先コードが入っていない(NULL:値が何も入っていない状態の)行だけが消える。値が入っていないかどうかは「= NULL」ではなく「IS NULL」と書く。この書き方は標準のSQLなので、Oracle Database・MySQL・PostgreSQL のどれでも同じように動く。
試験での引っ掛け
表そのものを消すのはDROP TABLE(表を定義する側の文:DDL)で、DELETEは中身の行だけを消して表の定義は残す——この取り違えが狙われる。DELETEは行単位で消す文で、ある列の値だけを空にしたいならUPDATEを使う。また、ほかの表から外部キーで参照されている行は、参照制約に違反するため削除できない(カスケードの指定があれば参照している行も連鎖して消える)。WHERE句の書き忘れで全行が消える点も押さえる。
関連用語
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。