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

SQL ServerでMySQLの「LIMIT」相当を実現するには?TOP句の使い方を解説

MySQLでは取得する行数を制限する際にLIMIT句を使用しますが、SQL ServerにはLIMIT句が存在しません。その代わりとなるのがTOP句です。この記事では、SQL ServerでLIMITと同じ処理を行う方法を、実際のサンプルコードと実行結果をもとに解説します。

基本構文:TOP句の使い方

SQL Serverで先頭の1行だけを取得したい場合は、TOP(1)を使用します。基本構文は以下の通りです。

SELECT TOP(1) * FROM yourTableName WHERE yourCondition;

それでは、実際にテーブルを作成して動きを確認してみましょう。

サンプルテーブルの作成

まず、動作確認用のテーブルを作成します。テーブル作成のクエリは次の通りです。

create table TopDemoInSQLServer
(
    Id int,
    Name varchar(10)
);

SQL ServerでMySQLの「LIMIT」相当を実現するには?TOP句の使い方を解説

テストデータの挿入

続いて、INSERTコマンドでいくつかのレコードを挿入します。

insert into TopDemoInSQLServer values(10,'John');
insert into TopDemoInSQLServer values(14,'Carol');
insert into TopDemoInSQLServer values(1,'Sam');
insert into TopDemoInSQLServer values(11,'Bob');
insert into TopDemoInSQLServer values(18,'David');
insert into TopDemoInSQLServer values(20,'Sam');

SQL ServerでMySQLの「LIMIT」相当を実現するには?TOP句の使い方を解説

全レコードの表示

SELECT文ですべてのレコードを表示して、正しく登録されているか確認します。

select *from TopDemoInSQLServer;

SQL ServerでMySQLの「LIMIT」相当を実現するには?TOP句の使い方を解説

出力結果

SQL ServerでMySQLの「LIMIT」相当を実現するには?TOP句の使い方を解説

6件のレコードが登録されていることが確認できました。

LIMIT 1の代わりにTOP(1)を使う

それでは本題です。MySQLのLIMIT 1に相当する処理を、TOP(1)で実装してみます。「Name」が「Carol」である最初の1行を取得するクエリは次の通りです。

select TOP(1) *from TopDemoInSQLServer where Name = 'Carol';

SQL ServerでMySQLの「LIMIT」相当を実現するには?TOP句の使い方を解説

上記クエリの実行結果は以下の通りです。

サンプル出力

SQL ServerでMySQLの「LIMIT」相当を実現するには?TOP句の使い方を解説

条件に一致する1件のレコードだけが取得できているのが分かります。このように、SQL ServerではLIMITの代わりにTOP句を使うことで、同じように取得件数を制限できます。

補足:TOP句はORDER BYと併用しよう

TOP(n)は、どの行を返すかを保証するものではありません。特定の順序で上位N件を取得したい場合は、必ずORDER BYと組み合わせて使用してください。例えば、Idの昇順で先頭1件を取得する場合は次のように書きます。

SELECT TOP(1) * FROM TopDemoInSQLServer ORDER BY Id;

なお、SQL Server 2012以降ではページング処理向けにOFFSET-FETCH句も利用できるため、目的に応じて使い分けるとよいでしょう。

  1. MySQLでSQLスクリプトを実行する方法を初心者向けに解説

    MySQLでSQLスクリプトを実行するには、MySQL Workbenchを使用するのが最も簡単な方法です。この記事では、MySQL Workbenchを使ってSQLファイルを読み込み、実行するまでの手順をスクリーンショット付きの手順に沿って詳しく解説します。 1. MySQL Workbenchを起動する まず、MySQL Workbenchを開きます。起動すると、以下のようなホーム画面が表示されます。 2. SQLスクリプトファイルを開く 次に、メニューバーから「File」→「Open SQL Script」を選択して、実行したいSQLスクリプトファイルを開きます。 メニュー操作の代

  2. SQL ServerのINSERT文の使い方!基本構文から実例まで徹底解説

    SQL Server(Transact-SQL)におけるINSERT文は、テーブルに1件または複数件のレコードを挿入するための基本的なDML文です。本記事では、INSERT文の基本構文から、複数行の一括挿入、DEFAULT VALUESやSELECT文との組み合わせといった応用例まで、わかりやすく解説します。 INSERTコマンドの基本構文 1件のレコードを挿入する場合 最もシンプルな形式は、VALUESキーワードを使って1件のレコードを挿入する方法です。 INSERT INTO テーブル名 (列名1, 列名2, …) VALUES (値1, 値2, …); 完全な構文では、各列に代入する