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

SQL ServerのLIMIT句に相当する機能は?MySQLのLIMIT句とOFFSETの使い方を解説

MySQLには、SQL Serverで言うところの「LIMIT句」に相当する機能として、LIMIT句OFFSET句が標準で用意されています。なお、SQL Serverでは同様の処理を「TOP句」や「OFFSET-FETCH句」で実現しますが、本記事ではMySQL側の書き方を中心に解説します。

LIMIT句の動きを理解するために、まずはサンプルとなるテーブルを作成し、実際にデータを取得してみましょう。テーブルはCREATEコマンドを使って作成します。

テーブルの作成

mysql> CREATE table limitDemo
-> (
-> id int,
-> primary key(id)
-> );
Query OK, 0 rows affected (0.58 sec)

レコードの挿入

次に、INSERT文を使ってテーブルにデータを挿入します。

mysql> INSERT into limitDemo values(1);
Query OK, 1 row affected (0.16 sec)

mysql> INSERT into limitDemo values(2);
Query OK, 1 row affected (0.12 sec)

mysql> INSERT into limitDemo values(3);
Query OK, 1 row affected (0.11 sec)

mysql> INSERT into limitDemo values(4);
Query OK, 1 row affected (0.10 sec)

mysql> INSERT into limitDemo values(5);
Query OK, 1 row affected (0.12 sec)

mysql> INSERT into limitDemo values(6);
Query OK, 1 row affected (0.13 sec)

mysql> INSERT into limitDemo values(7);
Query OK, 1 row affected (0.15 sec)

mysql> INSERT into limitDemo values(8);
Query OK, 1 row affected (0.09 sec)

mysql> INSERT into limitDemo values(9);
Query OK, 1 row affected (0.14 sec)

登録データの確認

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

mysql> SELECT * from limitDemo;

実行結果は以下の通りです。

+----+
| id |
+----+
| 1  |
| 2  |
| 3  |
| 4  |
| 5  |
| 6  |
| 7  |
| 8  |
| 9  |
+----+
9 rows in set (0.00 sec)

LIMIT句とOFFSET句の基本構文

それでは、LIMIT句を使ったクエリを見ていきましょう。基本の構文は以下の通りです。

SELECT column_name1……..N FROM yourTableName LIMIT 取得件数 OFFSET スキップ件数;

LIMITで取得する最大行数を指定し、OFFSETで先頭からスキップする行数を指定します。この組み合わせにより、結果セットの任意の範囲だけを取得できます。

実際にクエリを実行してみる

上記の構文をもとに、「先頭の2行をスキップして5行だけ取得する」クエリを実行します。

mysql> SELECT id from limitDemo limit 5 offset 2;

実行結果は以下の通りです。

+----+
| id |
+----+
| 3  |
| 4  |
| 5  |
| 6  |
| 7  |
+----+
5 rows in set (0.00 sec)

idが3〜7の5行のみが取得できました。これは、最初の2行(id:1、2)がOFFSETによってスキップされ、その後の5行がLIMITで取得されたためです。

補足:SQL Serverとの対応関係

同じ処理をSQL Serverで行う場合は、「OFFSET 2 ROWS FETCH NEXT 5 ROWS ONLY」というOFFSET-FETCH句を使用します。また、単純に先頭から指定件数だけ取得したい場合は「SELECT TOP 5」が使えます。MySQLでは「LIMIT 5 OFFSET 2」のようにLIMIT句だけで完結できるため、ページネーションなどの実装がシンプルに行えるのが特徴です。

  1. MS SQL Serverのインストール手順を画像付きで徹底解説|初心者向けステップガイド

    SQL Serverには、主に以下の2種類のインストール方式が用意されています。 スタンドアロン型(単体サーバーへのインストール) クラスターベース型(フェイルオーバークラスター環境へのインストール) インストール前に確認しておくべきこと インストール作業を始める前に、まず以下の項目を必ず確認しましょう。 サーバーへのリモートアクセスプロトコル(RDP:リモートデスクトッププロトコル)が利用可能かどうか OSのビット数(32bit/64bit)、IPアドレス、およびサーバーのドメイン情報 setup.exeを実行するアカウントが管理者(Administrators)グループに属している

  2. SQLServer2019のインストール手順

    9月24日、MicrosoftはSQL Server 2019 Community Technical Preview(CTP)2.0のリリースを発表しました。データベースの専門家が最新のテクノロジーについていくのに非常に適しています。したがって、本日の記事ではSQL Server 2019について説明し、MicrosoftからSQL Server 2019CTP2.0をインストールする方法を説明します。この記事には、WindowsServer2016を実行している仮想マシンでのSQLServer2019CTP2.0を使用した3つの初期インストールとテストの手順が含まれています。 SQL S