はじめに
設計でも開発でもテストでも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小ネタについても呟いております。
覗いていただけると嬉しいです。