こんにちは。たいら(@tairaengineer2)です。
この記事では、昇順、降順のソートができるORDER BYについて解説します。
スポンサーリンク
前提条件
この記事では、Microsoft SQL Server2017を使っています。
インストールの仕方は、下の記事をご参考ください。
ORDER BYとは
ORDER BYは、SELECTした結果のデータのソートをするときに使います。
SELECT - ORDER BY 句 (Transact-SQL)
適用対象: ○SQL Server ○Azure SQL Database ○Azure SQL Data Warehouse ○Parallel Data Warehouse
SQL Server でクエリによって返されるデータを並べ替えます。
この句は次の場合に使用します。
- 指定した列リストでクエリの結果セットを並べ替え、必要に応じて、返される行を指定の範囲に制限する。 ORDER BY 句が指定されていない限り、結果セットとして返される行の順序は保証されません。
- 順位付け関数の値が結果セットに適用される順序を決定する。
ORDER BY 句 (Transact-SQL) - SQL Server | Microsoft Docsから引用させて頂きました
複数のカラムに対してORDER BYをするやり方はこちらの記事をご参考ください。
この記事では、ORDER BYの基本的な使い方を解説します。
ORDER BYの使い方
ORDER BYの基本的な使い方は以下の通りです。
SELECT *
FROM 【テーブル】
ORDER by 【ソートする列】 【昇順or降順を指定】
【昇順or降順を指定】は、以下で指定できます。
昇順 | ASC |
---|---|
降順 | DESC |
【昇順or降順を指定】をしなかった場合、昇順で表示されます。
では、次の章でORDER BYを実際に使ってみます。
ORDER BYを実際に使うサンプルデータ
ORDER BYを試すテーブルは、【House】テーブルです。
サンプルデータは以下の通りです。
このデータを以下の条件でORDER BYして表示させます。
- idを降順
- nameを昇順
- ageを昇順(ASCを設定しない)
実行例1:idを降順
idを降順にするためのSQLは下記です。
SELECT *
FROM [Sample].[dbo].[House]
ORDER BY id DESC
実行した結果は下記です。
idで降順になっていますね。
実行例2:nameを昇順
nameを昇順にするためのSQLは下記です。
SELECT *
FROM [Sample].[dbo].[House]
ORDER BY name ASC
実行した結果は下記です。
日本語でソートした場合、
- 五十音順(ひらがな、カタカナ関係なし)
- 漢字
というルールのようですね。
実行例3:ageを昇順(ASCを設定しない)
ageをASCを設定しないで昇順にするためのSQLは下記です。
SELECT *
FROM [Sample].[dbo].[House]
ORDER BY age
実行した結果は下記です。
昇順のASCを設定しなくても、ageの昇順になっていますね。
スポンサーリンク
まとめ:ソートをするとき、ORDER BYを使ってみよう!
以上が昇順、降順のソートができるORDER BYの解説です。
まとめなので、もう1度振り返ってみます。
SELECT *
FROM 【テーブル】
ORDER by 【ソートする列】 【昇順or降順を指定】
【昇順or降順を指定】は、以下で指定できます。
昇順 | ASC |
---|---|
降順 | DESC |
あなたのご参考になったのなら、とても嬉しいです(*´▽`*)
ではでは~(・ω・)ノシ
他にもSQL Serverについて記事を書いています。
良ければこちらもご参考ください。
【SQL Server】データベースのバックアップファイルを復元する方法を解説します
【SQL Server】大文字から小文字に変換するLOWER関数について解説します
【SQL Server】テーブルの列名を変更するsp_renameを解説します
今までブログで書いたSQL Serverの解説記事のまとめは、こちらをご参考ください。