LoginSignup
2
0

はじめに

設計でも開発でもテストでもDBから実際のデータを取得することありますよね。
ここってどういう風にレコード積み上がっているんだろう~こういう条件のデータを取得したいけど、テーブルの中身どうなっているんだろう~などなど。

カラムも10個以内、INSERTされているデータも数百件レベルならWHERE句で条件を指定すれば良いのですがそうもいかない立ちはだかる膨大なデータ。
ちょっと見たいだけなのに、なんでこんなにAND書かなきゃいけないんだ…めんどくさいな…ってとき。

LIMIT句が便利すぎる件

LIMIT句の役割を端的に説明しますと、取得するデータの上限件数を指定できます。

例えば以下のようなuserというテーブルがあったとします。
、例なので記載しているのは少ないですがこれが膨大なデーであると仮定してください。

id name gender age address
1 AAA 1 20 東京都港区
2 BBB 2 32 東京都千代田区
3 CCC 1 25 東京都新宿区 
4 DDD 2 30 埼玉県さいたま市
5 EEE 1 32 神奈川県横浜市
6 FFF 2 20 神奈川県横須賀市
7 GGG 1 40 東京都中野区
8 ABC 2 36 東京都八王子市
9 DEF 1 22 東京都港区 
10 GHQ 2 42 神奈川県川崎市
11 XXX 1 31 神奈川県秦野市
12 XYZ 2 38 千葉県館山市

例えば、神奈川県に若者向けのお店を作りたいけど20代の人ってどれくらいるんだろうな~パッと見でいいからなんとなく年齢見たいんだよな~というとき。

SELECT age,address
FROM user
WHERE address like '神奈川%'

で絞った時にずらーーーーーーーーーーーーっと出力されたら、パッと見でわかりにくいし何よりDBに対して呼び出すので処理の時間もかかるので待つのも嫌ですよね。固まったりしたらなおさらめんどくさい。ちょっと見たいだけなんだよこっちは!!! となります。

そこで以下のようにLIMIT句を使うと10件のみを取得できます。

SELECT age,address
FROM user
WHERE address like '神奈川%'
limit 10

超便利。

なお、LIMIT句は不等号もいらず単に取得したい件数をSQL文の最後に書くだけというシンプルさがまた最高。

脳死しているときに以上って指定した値含むっけ?、WHERE句の前だっけ後だっけ?などと一考する必要もないです。

取得したい件数を最後に書くだけ!!!

本当にシンプルで使いやすいので是非使ってみてくださいね。
DBが複雑になればなるほど使い勝手の良さに感動すると個人的には思っています。

ちなみに

OracleではLIMIT句が使えないのでROWNUMで疑似列を作成して似たようなことができます。(※参考)

弊社公式Xではこういった便利なIT小ネタについても呟いております。
覗いていただけると嬉しいです。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0