【SQLの基礎知識⑫】 結果を並び替える(ORDER BY句)

SQLの基礎知識
この記事は約4分で読めます。
スポンサーリンク

並び替えを行う ORDER BY句

問合せを行うと、1行から複数行の行が結果として出力されます。通常この行は、表にデータが挿入された順番に並んで表示されます。しかし、場合によっては並び順を変更したいこともあるでしょう。行の並び替えを行うことをソート(SORT)と呼びます

ORDER BY句 : 書式

書式 ORDER BY <列名>

ORDER BY句 : 使用例

表:社員
名前年齢入社年度
山田太郎281998
佐藤花子242000
小林守351993
斉藤隆391999
森毅271999
高橋綾子281999

上の表を、入社年度順に並べ替える場合に、ORDER BY句を使います。

SQL文
SELECT * FROM 社員 ORDER BY 入社年度;
実行結果

名前年齢入社年度
小林守351993
山田太郎281998
斉藤隆391999
森毅271999
高橋綾子281999
佐藤花子242000
「入社年度」列が小さい順に並べ替えられた結果が得られました。

昇順、降順を指定して並べ替える

何も指定せずに ORDER BY句を使うと、数字は文字コード番号の小さい順に並べることができます。小さい順に並ぶことを昇順といい、逆に大きい順に並ぶことを降順といいます。ORDER BY句では、どちらかの順にするかを指定できます。

ORDER BY句 : 書式

昇順と降順の使い分けは、次の2つのキーワードで指定することができます。

  • ARC :昇順(小さいものから順に並べる)
  • DESC :降順(大きいものから順に並べる)
書式 ORDER BY <列名> [ ARC | DESC ]

実際には、降順を指定するDESCキーワードを指定することが多いです。ORDER BY句に何も指定しなかった場合には昇順に並べられますから、「ARC」キーワードを指定するときは、そのSQL文が昇順を求めているということを明示するときです。

ORDER BY句 : 使用例

DESCキーワードを指定して、先ほど「入社年度」列で昇順に並べた表を、今度は降順で読み出してみましょう。

表:社員
名前年齢入社年度
山田太郎281998
佐藤花子242000
小林守351993
斉藤隆391999
森毅271999
高橋綾子281999
SQL文
SELECT * FROM 社員 ORDER BY 入社年度 DESC;

実行結果

名前年齢入社年度
佐藤花子242000
斉藤隆391999
森毅271999
高橋綾子281999
山田太郎281998
小林守351993
結果を見ると、「入社年度」列の数字の大きなものから順番、つまり降順に並んでいることがわかります。

複数の列で並べ替えを指定する

ORDER BY句 : 書式

ORDER BY句で並べ替えをするときには、複数の列を指定して並べ替えることもできます。

書式 ORDER BY <列名1> [ ARC | DESC ], <列名2> [ ARC | DESC ] ・・・

複数の列をORDER BY句に指定すると、まず1番目に指定した列で並べ替えが行われ、次に2番目に指定した列で並べ替えが行われるといったように、順々に指定した列で並べ替えが行われます。

ORDER BY句 : 使用例

次の例では、まず「入社年度」列を昇順で並べ、次に「年齢」列を降順で並べ替えています。

表:社員
名前年齢入社年度
山田太郎281998
佐藤花子242000
小林守351993
斉藤隆391999
森毅271999
高橋綾子281999
SQL文
SELECT * FROM 社員 ORDER BY 入社年度, 年齢 DESC;

実行結果

名前年齢入社年度
小林守351993
山田太郎281998
斉藤隆391999
高橋綾子281999
森毅271999
佐藤花子242000

関連リンク

【SQL】 ORDER BY句の使い方(結果の並び順を指定する)
ORDER BY句は、指定した列の値により、問合せ結果を並び替えるものです。並べ替えのことをソート(SORT)と呼びます。問合せにおいて、一定の並べ方のデータが必要な場合には、ORDER BY句で結果の並べ方を指定します。
次の章へ進む
【SQLの基礎知識⑬】 出力結果をグループごとに集計する(GROUP BY・HAVING)
GROUP BY句は、指定した列の値に従ってデータをまとめる機能です。HAVING句は、それらの集計をさらに条件によって絞り込む機能です。この章では、出力結果をグループごと集計する基本テクニックを習得できます。いちれべ.comは、オラクル、MS-SQL、MS-Access で使用可能か一目でわかるサイトです。
目次
【SQLの基礎知識】基本ルールや基礎の基礎をマスターしよう
こちらの記事を読み進めることで、SQLの基礎が充分に身に付きます。これからSQLを身に着けたい初心者・入門者の方に最適です。データベース製品ごとに表現方法が異なることがありますので、ある程度SQLのスキルがある方も利用できるサイトです。
タイトルとURLをコピーしました