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 | 鈴木一郎 | 東京都 | 44 | 1 |
1002 | 佐藤次郎 | 埼玉県 | 32 | 1 |
1003 | 田中三郎 | 千葉県 | 24 | 2 |
1004 | 伊藤四郎 | 東京都 | 22 | 2 |
1005 | 斎藤五郎 | 東京都 | 55 | 4 |
抽出したデータのソート(並び替え)
昇順で並び替え
「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文と並び替え・集約のきほんのきまで [ 坂下 夕里 ] 価格:2,750円 |
イラストでそこそこわかるSQL SELECT文と並び替え・集約のきほんのきまで
本書は「データをデータベースから取ってくる」操作に特化した、SQLの解説書です。
ビジネスにおいて「データ活用」はますます重要になっています。
いまやSQLはデータを扱うすべての人にとって身につけておきたい、
基本スキルとなりました。
ただ、欲しいデータを取ってくるのにSQLのすべてを知る必要はありません。
本書は、データベースエンジニアではないけれど、「自分の思う通りにデータを取ってきたい」という方にお勧めの1冊です。
無償のMySQL Community Editionを使って解説しているので、
本書とパソコン、インターネット環境さえあれば、すぐに学習を始めることができます。
学習書のお求めはこちらから → 全国送料無料!IT書、ビジネス書、資格書が豊富なSEshop