【SQL Server入門】ORDER BY句の使い方を徹底解説!構文からASC/DESC・実例まで
SQL ServerにおけるORDER BY句は、SELECT文が返す結果セットのレコードを並べ替える(ソートする)ために使用される句です。なお、ORDER BY句はSELECT文の中でのみ使用できます。
ORDER BY句の基本構文
SELECT 式
FROM テーブル
[WHERE 条件]
ORDER BY 式 [ASC | DESC];
各要素の説明
式:取得したい列や計算値を指定します。
テーブル:レコードを取得したいテーブルです。FROM句には必ず1つ以上のテーブルを指定する必要があります。
WHERE 条件:省略可能です。レコードを選択するために満たすべき条件を指定します。
ASC:省略可能です。式の値に基づいて結果を昇順に並べ替えます(指定しない場合はこれがデフォルト)。
DESC:省略可能です。式の値に基づいて結果を降順に並べ替えます。
注意点
ORDER BY句でASCもDESCも指定しなかった場合、結果はデフォルトで昇順に並べ替えられます。これは「ORDER BY 式 ASC」と明示的に書いた場合と同じ意味になります。
例1:ASC / DESC属性を使わない並べ替え
以下の例では「nhanvien」は従業員(社員)テーブル、「ho」は姓のカラムを表しています。
SELECT *
FROM nhanvien
WHERE nhanvien_id > 1000
ORDER BY ho;
このクエリは、従業員の姓(ho)フィールドを基準に昇順で並べ替えたレコードを返します。結果は以下の文と完全に同じになります。
SELECT *
FROM nhanvien
WHERE nhanvien_id > 1000
ORDER BY ho ASC;
多くの開発者は、昇順で並べ替えたい場合にASC属性を省略してコードをシンプルにしています。
例2:降順で並べ替える
SELECT *
FROM nhanvien
WHERE ten = 'Sarah'
ORDER BY ho DESC;
この例では、名(ten)が「Sarah」である従業員のレコードが抽出され、姓(ho)を基準に降順で並べ替えられて返されます。
例3:相対位置を指定して並べ替える
SQL ServerのORDER BY句では、結果セット内の相対的な位置を基準に並べ替えることもできます。最初のフィールドが「1」、次が「2」というように番号が割り当てられます。
SELECT ho
FROM nhanvien
WHERE ho = 'Anderson'
ORDER BY 1 DESC;
この例では、姓(ho)フィールドを基準に降順で並べ替えられたレコードが返されます。姓が結果セットの1番目の位置にあるため、上記の文は以下のORDER BY句と同じ結果になります。
SELECT *
FROM nhanvien
WHERE ho = 'Anderson'
ORDER BY ho DESC;
例4:ASCとDESCを併用する
SELECT ho, ten
FROM nhanvien
WHERE ho = 'Johnson'
ORDER BY ho DESC, ten ASC;
この例では、姓(ho)を降順に、名(ten)を昇順に並べ替えたレコードが返されます。このように複数のカラムに対して異なる順序を組み合わせることで、より柔軟なソートが可能になります。
-
MS SQL Serverでデータベースを削除する2つの方法【T-SQL・SSMS】
MS SQL Serverで不要になったデータベースを削除するには、DROPコマンドを使用します。削除方法は大きく分けて2つあり、コマンドラインから実行する方法と、GUIツールを使って操作する方法があります。それぞれの手順を詳しく解説します。 方法1:T-SQLスクリプトを使用する MS SQL Serverでデータベースを削除する際の基本構文は以下のとおりです。 DROP DATABASE データベース名 例えば、「Testdb」という名前のデータベースを削除したい場合は、次のクエリを実行します。 DROP DATABASE Testdb クエリを実行すると、指定したデータベースとその内部の
-
SQL Serverのアーキテクチャを徹底解説|全般・メモリ・データファイル・ログファイルの仕組み
これまでの記事では、SQL Serverの概要やコンピューターへのインストール方法について学びました。本記事では、SQL Serverのアーキテクチャ(内部構造)について詳しく解説していきます。 理解しやすくするために、SQL Serverのアーキテクチャは以下の4つのセクションに分けて説明します。 全般アーキテクチャ(General) メモリアーキテクチャ(Memory) データファイルアーキテクチャ(Data file) ログファイルアーキテクチャ(Log file) それでは、それぞれのアーキテクチャの詳細を見ていきましょう。 全般アーキテクチャ(General) SQL Serve