SELECT文で抽出したレコードを並び替えるにはORDER BY句を使用します.
ORDER BY句の基本構文は以下のようになります.
SELECT 列名1, 列名2, ...
FROM テーブル名
[WHERE条件式など]
ORDER BY ソート1 [ASC | DESC], ソートキー2 [ASC | DESC], ...
ソートキーには並び替えに使用する列名を指定します.ASCを使用すると昇順に,DESCを指定すると降順にレコードを並び替えることが出来ます.なお,ASCは省略可能です.
例として以下の従業員マスタの並び替えを行います.
従業員
従業員コード | 従業員名 | 年齢 | 種別 |
---|---|---|---|
A0001 | チャーリー・ブラウン | 15 | 人間 |
A0002 | ペパーミント・パティ | 15 | 人間 |
A0003 | ルシール・ヴァン・ぺルト | 16 | 人間 |
B0001 | スヌーピー | 4 | 犬 |
C0001 | ウッドストック | 3 | 鳥 |
年齢の昇順でレコードを並び替えます.
SELECT * FROM 従業員
ORDER BY 年齢
結果
従業員コード | 従業員名 | 年齢 | 種別 |
---|---|---|---|
C0001 | ウッドストック | 3 | 鳥 |
B0001 | スヌーピー | 4 | 犬 |
A0001 | チャーリー・ブラウン | 15 | 人間 |
A0002 | ペパーミント・パティ | 15 | 人間 |
A0003 | ルシール・ヴァン・ぺルト | 16 | 人間 |
従業員の降順でレコードを並び替えます.
SQL
SELECT * FROM 従業員
ORDER BY 従業員コード DESC
結果
従業員コード | 従業員名 | 年齢 | 種別 |
---|---|---|---|
C0001 | ウッドストック | 3 | 鳥 |
B0001 | スヌーピー | 4 | 犬 |
A0003 | ルシール・ヴァン・ぺルト | 16 | 人間 |
A0002 | ペパーミント・パティ | 15 | 人間 |
A0001 | チャーリー・ブラウン | 15 | 人間 |
注意.
サンプルで使用するテーブルは説明のため正規化を行っていなかったり,一般的でない列が含まれている場合があります.ご容赦ください.