MySQLのORDER BYとは?並び替えの基本を初心者向けに完全解説|SQL入門
生徒
「MySQLでデータを表示するとき、順番がバラバラなんですが、整えることはできますか?」
先生
「できますよ。ORDER BYという命令を使うと、年齢順や名前順に並び替えられます。」
生徒
「パソコンをほとんど触ったことがなくても理解できますか?」
先生
「大丈夫です。紙の名簿を並べ替える感覚で説明しますので、安心してください。」
1. SQLとは何か?
SQL(エスキューエル)は、データベースを操作するための言葉です。 データベースとは、大量の情報を整理して保存しておく箱のようなものです。 例えば、会員名簿や住所録、テストの点数表などをパソコンの中で管理する仕組みだと考えると分かりやすいです。
MySQLは、そのSQLを使って操作できるデータベースソフトの一つで、多くのWebサービスや業務システムで使われています。
2. ORDER BYとは何をする命令なのか
ORDER BY(オーダー バイ)は、データを「並び替える」ための命令です。 MySQLでSELECT文を使ってデータを表示すると、基本的には登録された順番で表示されます。 しかし、その順番は人にとって見やすいとは限りません。
例えば、紙の名簿を年齢が若い順や、名前のあいうえお順に並べ替えることがあります。 ORDER BYは、その並び替え作業をMySQLにお願いするための命令です。
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 | misaki@example.com
5 | 田中健一 | 18 | ken@example.com
4. ORDER BYで昇順に並び替える方法
ORDER BYを使うと、指定した列の順番でデータを並び替えられます。 昇順(しょうじゅん)とは、小さい数字から大きい数字へ、または「あ」から「ん」へ並ぶ順番です。
年齢が若い人から順番に表示したい場合は、次のように書きます。
SELECT *
FROM users
ORDER BY age ASC;
ASC(アスク)は昇順という意味で、省略しても同じ結果になります。
id | name | age | email
---+------------+-----+-----------------------
5 | 田中健一 | 18 | ken@example.com
2 | 佐藤花子 | 19 | hanako@example.com
4 | 高橋美咲 | 22 | misaki@example.com
1 | 山田太郎 | 25 | taro@example.com
3 | 鈴木一郎 | 30 | ichiro@example.com
5. ORDER BYで降順に並び替える方法
降順(こうじゅん)は、昇順とは逆で、大きい数字から小さい数字へ並ぶ順番です。 点数が高い人順や、最新のデータを先に見たいときによく使います。
SELECT *
FROM users
ORDER BY age DESC;
DESC(デスク)は降順という意味です。
id | name | age | email
---+------------+-----+-----------------------
3 | 鈴木一郎 | 30 | ichiro@example.com
1 | 山田太郎 | 25 | taro@example.com
4 | 高橋美咲 | 22 | misaki@example.com
2 | 佐藤花子 | 19 | hanako@example.com
5 | 田中健一 | 18 | ken@example.com
6. 名前を基準に並び替える考え方
ORDER BYは、数字だけでなく文字でも並び替えができます。 名前順に並べたい場合は、name列を指定します。 これは五十音順で名簿を並べる感覚と同じです。
SELECT *
FROM users
ORDER BY name ASC;
id | name | age | email
---+------------+-----+-----------------------
1 | 山田太郎 | 25 | taro@example.com
2 | 佐藤花子 | 19 | hanako@example.com
3 | 鈴木一郎 | 30 | ichiro@example.com
4 | 高橋美咲 | 22 | misaki@example.com
5 | 田中健一 | 18 | ken@example.com
7. ORDER BYを使うときの大切なポイント
ORDER BYは、SELECT文の一番最後に書くのが決まりです。 また、並び替えたい列名を間違えるとエラーになるため、テーブルの構造を事前に確認することが大切です。
データの順番を整えるだけで、情報はとても見やすくなります。 MySQLでのORDER BYは、実務でも検索結果の表示でも頻繁に使われる基本的な命令です。