データベース設計

【SQL入門】ORDER BY句の使い方(並び替え)

ORDER BY句の基本構文

SQLの「ORDER BY」を使えば、抽出したデータをソート(並び替え)することができます。

ORDER BYの基本構文

SELECT  列名  FROM  テーブル名  ORDER BY  列名  [ASC もしくは DESC];

  • ASC:昇順 (※省略可)
  • DESC:降順

本記事では、抽出したデータをソート(並び替え)する方法を解説していきます。

また「person テーブル」には、次のようなデータが格納されていることを前提としています。

ID (id) ※PK名前 (name)住所 (address)年齢 (age)部署ID (department_id)
1001鈴木一郎東京都441
1002佐藤次郎埼玉県321
1003田中三郎千葉県242
1004伊藤四郎東京都222
1005斎藤五郎東京都554
Person テーブル

抽出したデータのソート(並び替え)

昇順で並び替え

「ORDER BY 列名 ASC」で指定した列名の昇順でデータを抽出することができます。

次の例は「年齢」の昇順でデータを抽出しています。

並び替えの例(昇順)

SELECT * FROM person ORDER BY age ASC;

降順で並び替え

「ORDER BY 列名 DESC」で指定した列名の降順でデータを抽出することができます。

次の例は「年齢」の降順でデータを抽出しています。

並び替えの例(降順)

SELECT * FROM person ORDER BY age DESC;

複数のソート条件で並び替え

「ORDER BY 列名 [ASC または DESC], 列名 [ASC または DESC]」で指定した複数の列名で並び替えすることができます。
(※カンマ区切りで列名を複数指定)

次の例は、第1ソートが「部署ID」の昇順、第2ソートが「年齢」の降順でデータを抽出しています。

並び替えの例(複数の列)

SELECT * FROM person ORDER BY department_id ASC, age DESC;

学習書の紹介

イラストでそこそこわかるSQL SELECT文と並び替え・集約のきほんのきまで

本書は「データをデータベースから取ってくる」操作に特化した、SQLの解説書です。

ビジネスにおいて「データ活用」はますます重要になっています。
いまやSQLはデータを扱うすべての人にとって身につけておきたい、
基本スキルとなりました。
ただ、欲しいデータを取ってくるのにSQLのすべてを知る必要はありません。
本書は、データベースエンジニアではないけれど、「自分の思う通りにデータを取ってきたい」という方にお勧めの1冊です。

無償のMySQL Community Editionを使って解説しているので、
本書とパソコン、インターネット環境さえあれば、すぐに学習を始めることができます。


学習書のお求めはこちらから → 全国送料無料!IT書、ビジネス書、資格書が豊富なSEshop

-データベース設計