SQLで並び替えるORDER BYの使い方|結果を自由に並び替えよう

SQLで並び替えるORDER BYの使い方を解説するイメージ図(昇順・降順・複数条件)
SQLの ORDER BY 句を使ったデータ並び替えのイメージ|昇順・降順・複数条件に対応

SQLを使ってデータベースから情報を取得する際、表示する順番をコントロールしたい場面は多いですよね。例えば「日付の新しい順に並べたい」「価格の安い順にしたい」といったケースです。
このようなときに使うのが ORDER BY句 です。

この記事では、ORDER BY の基本的な使い方から、複数条件での並び替え、注意点まで解説します。

ORDER BY句の基本構文

SELECT 列名
FROM テーブル名
ORDER BY 列名 [ASC|DESC];
  • ASC … 昇順(小さい値 → 大きい値)
  • DESC … 降順(大きい値 → 小さい値)
  • 省略した場合は ASC(昇順) になります。

使用例

1. 年齢を昇順に並び替える

SELECT name, age
FROM users
ORDER BY age ASC;

👉 年齢の若い順に並び替えられます。

2. 登録日の新しい順に並び替える

SELECT name, created_at
FROM users
ORDER BY created_at DESC;

👉 日付の降順になるため、新しいユーザーから順に表示されます。

複数条件での並び替え

ORDER BY は複数の列を指定できます。

SELECT name, department, age
FROM employees
ORDER BY department ASC, age DESC;

👉 この場合は「部署ごとに昇順」で並び、その中で「年齢の高い順」に並びます。

数字・文字列・日付での並び替えの違い

  • 数字 → 小さい順 / 大きい順
  • 文字列 → 辞書順(あ → ん、a → z)
  • 日付 → 古い日付 → 新しい日付

データ型によって並び替えの結果が変わるので注意しましょう。

ORDER BYの注意点

  1. 処理速度
    データ量が多いと並び替え処理に時間がかかることがあります。必要な場合のみ使うようにしましょう。
  2. NULL値の扱い
    多くのDBMSでは、NULLは最小値として扱われ、昇順なら先頭、降順なら末尾に並びます。

ORDER BYと他のSQL構文の組み合わせ

ORDER BY は他のSQL構文と一緒に使うことが多いです。

まとめ

  • ORDER BY を使うと取得データの順序を自由に並び替えできる
  • ASC(昇順)と DESC(降順)を使い分ける
  • 複数の列で並び替え可能
  • WHEREGROUP BY と組み合わせるとさらに便利

SQLの基本をしっかり押さえておくことで、欲しいデータを見やすい形で取得できるようになります。

👉 次は SQLの基本構文まとめ もチェックしてみましょう。