カテゴリ: MySQL 更新日: 2026/01/07

MySQLのORDER BYを完全解説!初心者でもわかる並び替えの基本操作

MySQLのORDER BYで並び替えを行う方法
MySQLのORDER BYで並び替えを行う方法

先生と生徒の会話形式で理解しよう

生徒

「データは表示できるようになったんですが、順番がバラバラで見づらいです…」

先生

「そのときに使うのがORDER BYです。ORDER BYは、データを決めたルールで並び替えるための命令です。」

生徒

「数字順とか、あいうえお順に並べることもできますか?」

先生

「できます。紙の名簿を年齢順や名前順に並べ替えるのと同じ感覚で使えますよ。」

1. SQLとは何か?

1. SQLとは何か?
1. SQLとは何か?

SQLは、データベースと呼ばれる大量のデータを整理して保存する箱に対して、操作の指示を出すための言語です。MySQLでは、このSQLを使ってデータを表示したり、条件で絞り込んだりします。

ORDER BYは、その中でも「表示の順番」を整えるために使うSQLの重要な要素です。

2. ORDER BYとは何をするものか

2. ORDER BYとは何をするものか
2. ORDER BYとは何をするものか

ORDER BYは、SELECT文で取得したデータを、指定した列の順番で並び替えるための仕組みです。データそのものを変更するのではなく、表示の順番だけを変えます。

例えるなら、名簿の内容はそのままで、並び順だけを年齢順や名前順に並べ替える作業です。

3. サンプルとなるテーブルの内容

3. サンプルとなるテーブルの内容
3. サンプルとなるテーブルの内容

ここでは、会員情報を管理するusersテーブルを使って、ORDER BYの使い方を説明します。まずは、SQLを実行する前のテーブルの状態を確認します。


id | name       | age | email
---+------------+-----+-------------------
1  | 山田太郎   | 25  | taro@example.com
2  | 佐藤花子   | 19  | hanako@example.com
3  | 鈴木一郎   | 30  | ichiro@example.com
4  | 高橋次郎   | 22  | jiro@example.com

4. ORDER BYを使わない場合の表示

4. ORDER BYを使わない場合の表示
4. ORDER BYを使わない場合の表示

ORDER BYを指定しない場合、MySQLは基本的に登録された順番でデータを表示します。この順番は、必ずしも見やすいとは限りません。


SELECT *
FROM users;

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. ORDER BYで昇順に並び替える

5. ORDER BYで昇順に並び替える
5. ORDER BYで昇順に並び替える

ORDER BYの基本形は、「ORDER BY 列名」です。これだけで、指定した列を基準に小さい順、またはあいうえお順で並び替えられます。この並び方を昇順と呼びます。


SELECT *
FROM users
ORDER BY age;

id | name       | age | email
---+------------+-----+-------------------
2  | 佐藤花子   | 19  | hanako@example.com
4  | 高橋次郎   | 22  | jiro@example.com
1  | 山田太郎   | 25  | taro@example.com
3  | 鈴木一郎   | 30  | ichiro@example.com

年齢が小さい順に並び替えられているのが分かります。

6. DESCを使った降順の並び替え

6. DESCを使った降順の並び替え
6. DESCを使った降順の並び替え

大きい順に並び替えたい場合は、ORDER BYの後ろにDESCを付けます。DESCは「降順」という意味です。


SELECT *
FROM users
ORDER BY age DESC;

id | name       | age | email
---+------------+-----+-------------------
3  | 鈴木一郎   | 30  | ichiro@example.com
1  | 山田太郎   | 25  | taro@example.com
4  | 高橋次郎   | 22  | jiro@example.com
2  | 佐藤花子   | 19  | hanako@example.com

このように、DESCを付けるだけで並び順が逆になります。

7. 文字の並び替えとORDER BY

7. 文字の並び替えとORDER BY
7. 文字の並び替えとORDER BY

ORDER BYは、数字だけでなく文字にも使えます。名前を基準に並び替えると、五十音順のような形になります。


SELECT *
FROM users
ORDER BY name;

これは、名簿を名前順に並べ替えるのと同じ感覚です。

8. ORDER BYを使うときの考え方

8. ORDER BYを使うときの考え方
8. ORDER BYを使うときの考え方

ORDER BYは、「どの列を基準に並べるか」を決めるための命令です。SELECTでデータを取り出し、その結果をORDER BYで整えるという流れで考えると理解しやすくなります。

表示順を整えるだけなので、テーブルの中身が変わることはありません。

9. 並び替え後もテーブルの中身は変わらない

9. 並び替え後もテーブルの中身は変わらない
9. 並び替え後もテーブルの中身は変わらない

ORDER BYは、表示の順番を変えるだけのSQLです。そのため、SQL実行後も、テーブル自体のデータは次のように元のままです。


id | name       | age | email
---+------------+-----+-------------------
1  | 山田太郎   | 25  | taro@example.com
2  | 佐藤花子   | 19  | hanako@example.com
3  | 鈴木一郎   | 30  | ichiro@example.com
4  | 高橋次郎   | 22  | jiro@example.com

ORDER BYは、安全に使える表示専用の機能として、SQL基礎の中でも非常に重要な役割を持っています。

カテゴリの一覧へ
新着記事
New1
PostgreSQL
PostgreSQLのLIMIT・OFFSETとパフォーマンス問題を完全解説|初心者でもわかる安全な使い方
New2
MySQL
MySQLのUPDATE文でデータを更新する基本を徹底解説|SQL初心者でもわかるデータベース更新入門
New3
PostgreSQL
PostgreSQLのOFFSET完全入門|並び替えと組み合わせてデータをスキップする方法を初心者向けに解説
New4
MySQL
MySQLで複数行INSERTを行う方法と注意点を徹底解説|SQL基礎から学ぶデータベース入門
人気記事
No.1
Java&Spring記事人気No1
PostgreSQL
PostgreSQLのDISTINCT完全ガイド|SQLで重複データを除外する方法を初心者向けに解説
No.2
Java&Spring記事人気No2
PostgreSQL
PostgreSQLの主キー・外部キーを完全解説!初心者でもわかる設定方法と考え方
No.3
Java&Spring記事人気No3
PostgreSQL
PostgreSQLのLEFT JOIN完全入門!不足データを補いながらテーブル結合する仕組みをやさしく解説
No.4
Java&Spring記事人気No4
PostgreSQL
PostgreSQLとは?初心者向けに特徴をわかりやすく解説
No.5
Java&Spring記事人気No5
PostgreSQL
PostgreSQLのUPDATE文の使い方(部分更新・条件更新)
No.6
Java&Spring記事人気No6
PostgreSQL
PostgreSQLスキーマ設計のベストプラクティス完全ガイド|初心者でもわかるデータベース整理術
No.7
Java&Spring記事人気No7
PostgreSQL
PostgreSQLスキーマ作成・削除完全ガイド!初心者でもわかるデータベース設計の基礎
No.8
Java&Spring記事人気No8
PostgreSQL
PostgreSQLのWHERE句を完全解説|初心者でもわかる条件指定の基本と使い方