PostgreSQLのORDER BYの基本(昇順・降順)
先生と生徒の会話形式で理解しよう
生徒
「名簿の順番を年齢順とか名前順に並べたいとき、SQLではどうするんですか?」
先生
「そのときに使うのがORDER BYです。表の並び替えをする命令ですね。」
生徒
「パソコンに慣れていなくても理解できますか?」
先生
「大丈夫です。紙の名簿を並べ替えるイメージで説明します。」
1. SQLとは何か?
SQLは、データベースという「表形式で情報を整理して保存する場所」を操作するための言葉です。PostgreSQLは、SQLを使ってデータを検索したり並べ替えたりできる代表的なデータベースです。
エクセルの表を並び替える感覚に近く、順番を変えたいときに使うのがORDER BYです。
2. ORDER BYとは何か?
ORDER BYは、検索結果の並び順を指定するための命令です。
何も指定しない場合、データは登録された順番で表示されますが、ORDER BYを使うと「年齢が若い順」「名前のあいうえお順」など自由に並べ替えられます。
3. 今回使うテーブルを確認しよう
以下のusersテーブルを使って、ORDER BYの基本を確認します。
id | name | age | email
---+------------+-----+-------------------
1 | 山田太郎 | 25 | taro@example.com
2 | 佐藤花子 | 19 | hanako@example.com
3 | 鈴木一郎 | 30 | ichiro@example.com
4 | 高橋次郎 | 22 | jiro@example.com
5 | 伊藤美咲 | 27 | misaki@example.com
4. 昇順で並び替える(ASC)
昇順とは、「小さい順」「早い順」に並べることです。
年齢なら若い順、文字なら五十音順になります。ASCは省略しても同じ意味になります。
SELECT *
FROM users
ORDER BY age ASC;
id | name | age | email
---+----------+-----+-------------------
2 | 佐藤花子 | 19 | hanako@example.com
4 | 高橋次郎 | 22 | jiro@example.com
1 | 山田太郎 | 25 | taro@example.com
5 | 伊藤美咲 | 27 | misaki@example.com
3 | 鈴木一郎 | 30 | ichiro@example.com
5. 降順で並び替える(DESC)
降順とは、「大きい順」「遅い順」に並べることです。
年齢が高い人から表示したいときなどに使います。
SELECT name, age
FROM users
ORDER BY age DESC;
name | age
---------+-----
鈴木一郎 | 30
伊藤美咲 | 27
山田太郎 | 25
高橋次郎 | 22
佐藤花子 | 19
6. 文字列の並び替えを理解しよう
文字列をORDER BYで並べると、五十音順のように並びます。
名簿を名字順に並べたいときと同じ感覚で使えます。
SELECT id, name
FROM users
ORDER BY name;
7. ORDER BYを使う場面
ORDER BYは、一覧画面を見やすくしたいときによく使われます。
年齢順、登録順、名前順など、利用者が理解しやすい並びにするための大切な機能です。
8. 並び替えはデータを壊さない
ORDER BYは表示順を変えるだけで、データベースの中身自体を変更しません。
紙の名簿を一時的に並べ替えて見るだけなので、安心して使えます。