OracleSQL入門-ORDER BYを使ったデータのソート

OracleSQL入門トップに戻る

スポンサードリンク

ORDER BYを使ったデータのソート

SELECT文で取得したデータは、ORDER BYを使うことで並び順を指定することが

できます。

ORDER BYの使用方法は以下の通りです。

SELECT 列名 FROM 表の名前 WHERE 絞り込み条件 

ORDER BY 列名 ASC(DESC);

基本的にORDER BYはSQL文の最後に指定します。

また、ソートするにあたって昇順(小さい順)に並び替える場合は列名の後にASCを、

降順(大きい順)に並び替える場合は列名の後にDESCを指定します。

※ASCは省略可能です。

使用例1:学生表の年を小さい順にソートする。

SELECT * FROM 学生 WHERE 組 = 'A' ORDER BY 年;

OracleSQL-ORDERBYを使ったソート1

正しくソートされていることが分かります。

ソートに指定する列名は複数指定することが可能で、出力する列に含まれていなくても

指定することができます。

使用例2:学生表の年を小さい順、生年月日を大きい順にソートする。

SELECT 学生番号,年,氏名 FROM 学生 WHERE 組 = 'A' ORDER BY 年,生年月日 DESC;

OracleSQL-ORDERBYを使ったソート2

データによるソートの違い

列のデータ型によって、昇順・降順の基準が違うので注意しましょう。

↓は昇順にソートする場合の各基準です。

データ型 ソートの基準
数値 小さい数値から大きい数値にかけてソートされる。
文字列 辞書順にソートされる。(アルファベット順・50音順)
日付 古い日付から新しい日付にかけてソートされる。
NULL 一番大きい値として扱われる。

文字列の「2」と「11」のデータがあった場合、昇順で並べ替えると

「11」、「2」と言う並びで表示されます。

これは、データが数値ではなく文字列のため辞書順で並べ替えられるためです。

SELECT * FROM 学生 WHERE 組 = 'A' ORDER BY 学籍番号;

OracleSQL-ORDERBYを使ったソート3

スポンサードリンク

シェアする

フォローする