( New ) 新連載スタート!2人の会話形式でPythonを学ぶ「週末Pythonゆる講座」はこちら ▶▶

【SQL】LIMIT|抽出するデータを限定する

LIMITとは?

LIMIT(リミット)

限度、限界(線)、制限、境界、範囲、区域

Weblio英和辞書

英単語でLIMITは限界、制限という意味ですが

SQLでも同様に「抽出するデータを制限する」意味で使います

また語法としては「構文の最後」に記載します

LIMIT句の使い方

LIMIT句に数値を記述することで、「先頭の〇行」のみ抽出することができます

またLIMIT句は「構文の最後」に記載します

SELECT ***

FROM ***

WHERE ***

LIMIT 【制限する数】

お題

データを上から3行抽出する」SQLを記述します

LIMIT
    3
SQLデータベース抽出の例
LIMIT句を使わないと危険!?

SQLを使うときはビッグデータを扱う場合がほとんど

何も制限をかけずデータを出してしまうと、抽出コストが莫大になったり、エラーが出てしまったりします

「SELECT *」を使う場合は「LIMIT 10」などしましょう

SQL Serverでは違う記述

それぞれのデータベースで若干語法は変わります

SQL Serverで異なっています

SELECT
    TOP 5 *
FROM
WHERE

ORDER BY句との組み合わせが強力

LIMIT句はそのまま使うと、抽出される順番が不安定になります

順番を設定する「ORDER BY」を一緒に使うと強力です

「ORDER BY」と「LIMIT」を活用することで下記のような抽出ができるようになります

  • 売上の高い商品を〇個取り出す
  • 購入日が新しい順にユーザー名を〇人抽出する
  • テストの点数が低い生徒の名前を〇人取り出す

単純にデータを取り出す件数を制限するだけではなく

大きな影響を与える要素だけ抽出することができます

お題

会計の金額が多い順に3行データを抽出する」SQLを記述する

ORDER BY
    会計 DESC
LIMIT
    3
SQLデータベース抽出の例

ORDER BY」の使い方はこちらで紹介しています

【SQL】ORDER BY|順序の並び替えを指定する

まとめ

LIMITはデータ容量を制限するとても便利な機能です

ビッグデータを触るときはしっかり意識しましょう

コメントを残す

メールアドレスが公開されることはありません。