SQL Server
 Computer >> コンピューター >  >> プログラミング >> SQL Server

SQL ServerのDELETE TOPコマンドの使い方を徹底解説!基本構文から実用例まで

SQL ServerのDELETE TOPコマンドは、テーブルからレコードを削除する際に、削除する件数を特定の値または割合(パーセント)に基づいて制限できる便利なコマンドです。大量データの中から条件に合う一部のレコードだけを削除したい場合に活用できます。

DELETE TOPコマンドの基本構文

DELETE TOP (値) [PERCENT]
FROM テーブル名
[WHERE 条件];

各パラメータの意味

テーブル名
削除対象のレコードが存在するテーブルを指定します。

WHERE 条件(省略可能)
削除対象となるレコードが満たすべき条件を指定します。WHERE句を省略すると、テーブル内の全レコードが削除対象になるため注意が必要です。

TOP (値)
結果セットの先頭から、指定した数の行を削除します。たとえば TOP (10) と指定すると、条件を満たす先頭の10件が削除されます。

PERCENT(省略可能)
このキーワードを指定すると、削除される行数は結果セット全体に対する割合として計算されます。たとえば TOP (10) PERCENT と指定すると、結果セットの先頭から10%のレコードが削除されます。

注意点

DELETE文では、フィールド名を列挙する必要はありません。これは、DELETEがテーブルの行(レコード)全体を削除するコマンドだからです。

使用例

例1:TOPキーワードを使った削除

DELETE TOP (10)
FROM shain
WHERE sei = 'Anderson';

この例では、社員テーブル(shain)から、姓(sei)が「Anderson」であるレコードのうち、先頭の10件のみが削除されます。同じ条件に該当するレコードがそれ以上存在していても、11件目以降は削除されません。

例2:TOP PERCENTキーワードを使った削除

DELETE TOP (25) PERCENT
FROM shain
WHERE mei = 'Sarah';

この例では、名(mei)が「Sarah」であるレコードのうち、25%が削除されます。残りの75%のレコードはそのまま保持されます。

まとめ

DELETE TOPコマンドを使いこなせば、「条件に合うレコードのうち上位N件だけ」「全体の何パーセントかだけ」をピンポイントで削除できます。誤って大量のデータを消してしまわないよう、実行前には必ずSELECT文で対象レコードを確認することをおすすめします。

  1. MS SQL Serverでデータベースを削除する2つの方法【T-SQL・SSMS】

    MS SQL Serverで不要になったデータベースを削除するには、DROPコマンドを使用します。削除方法は大きく分けて2つあり、コマンドラインから実行する方法と、GUIツールを使って操作する方法があります。それぞれの手順を詳しく解説します。 方法1:T-SQLスクリプトを使用する MS SQL Serverでデータベースを削除する際の基本構文は以下のとおりです。 DROP DATABASE データベース名 例えば、「Testdb」という名前のデータベースを削除したい場合は、次のクエリを実行します。 DROP DATABASE Testdb クエリを実行すると、指定したデータベースとその内部の

  2. MS SQL Serverとは?特徴・主な用途・バージョン履歴・インスタンスの基インスタンスの基礎を徹底解説

    SQL Server(MS SQL Server)とは? SQL Serverは、Microsoftが開発したリレーショナルデータベース管理システム(RDBMS)です。従来のRDBMSの枠組みにとどまらず、オブジェクト指向の概念も取り入れたORDBMS(オブジェクトリレーショナルデータベース管理システム)としての側面も併せ持っています。主な特徴は以下の通りです。 Microsoftが開発したRDBMSベースのデータベースソフトウェアである ORDBMS(オブジェクトリレーショナルデータベース管理システム)としても機能する 特定のプラットフォームに依存しない独立した環境で動作する コマンドライ