PREPARATION
受験対策

Silverの例題解説
「S3.1 SQLコマンド(DELETE文)」

「S3 開発/SQL - S3.1 SQLコマンド(DELETE文)」からの出題です。

例題

テーブルtestのデータをすべて削除して空にしたい。適切な説明を2つ選びなさい。


  1. DELETE * FROM test; を実行すれば良い。
  2. DELETE ALL FROM test; を実行すれば良い。
  3. DELETE FROM test; を実行すれば良い。
  4. DROP ROWS FROM test; を実行すれば良い。
  5. TRUNCATE test; を実行しても良く、この方が高速である。

※この例題は実際のOSS-DB技術者認定試験とは異なります。
例題公開日:2023年6月1日

解答と解説

テーブルからデータを削除するにはDELETE文を使います。基本的な構文は

DELETE FROM テーブル名 WHERE 条件式

で、条件式を評価した結果が真になる行が削除されます。WHERE句を省略すると、テーブル内のすべての行が削除されます。トランザクション機能を有効にしていればROLLBACKで元に戻せますが、そうでないと想定外に全データを失うこともあるので、実行には十分に注意してください。

DELETEはWHERE句がなくても、テーブルをスキャンしながらデータを削除しますが、TRUNCATEはテーブルのスキャンを行うことなく、テーブルのデータ領域を解放するので、より高速にテーブルを空にすることができます。

選択肢A、B、DはいずれもSQLの構文として間違っています。

従って正解はCとEです。

今回の解説について、理解できないポイントがあればどんどん質問をお寄せ下さい。
採用になった方にはLPI-Japanオリジナルの記念品を贈呈します。

※試験問題に関わるお問い合わせにつきましては、LPI-Japan事務局ではお応えできませんのでご了解ください。

企業の基幹システムや業務システム、AIなどの
新領域での「PostgreSQL」の採用が拡大している中、
昇格・昇給・就職・転職に必ず役立つ認定です

OSS-DBの受験対策について

受験の学習をサポートする情報や対策に役立つ情報をご紹介

サンプル問題/例題解説

例題 のアーカイブを試験ごとにまとめています。OSS-DB技術者認定試験の学習にお役立てください

学習教材・教育機関のご紹介

OSS-DB認定教材や教育機関について詳しくご説明いたします。

無料技術解説セミナー

受験準備をされていらっしゃる方々を対象に、無料技術解説セミナーの日程をお知らせしています。

OSS-DB道場

受験準備をされていらっしゃる方々を対象に、無料技術解説セミナーの日程をお知らせしています。