SQL攻略 - Web上でSQLを実行しながらマスターするサイト
ホーム >> SQL攻略 - ソート(ORDER BY)

ソート(ORDER BY)

条件抽出したデータのソート方法を学習します。

1.ソート(ORDER BY)の記述の仕方

--JOB(仕事)が'SALESMAN'のENAME(従業員名)とJOBとSAL(給料)を、SALでソートする
SELECTENAME,JOB,SAL
FROMEMP
WHEREJOB = 'SALESMAN'
ORDER BYSAL
■ソートの仕方

レコードをソートするにはORDER BYを使用します。ORDER BYのあとにソートのキーにするカラム名を記述すれば、ソートされます。複数のソートキーを使用する場合はORDER BY SAL,DEPTNOのようにカラム名をカンマ区切りで記述します。

■ORDER BYの位置

ORDER BYはWHERE条件の後ろに記述します。WHERE条件を指定しない場合はFROM句のあとにORDER BY句を記述します。

■ソート順

通常は昇順でソートされますが、ORDER BY SAL DESCのようにDESCキーワードを付けることによって降順でソートされます。明示的に昇順でソートする場合はASCキーワードを付けます。

ASC昇順
DESC降順

■実習

それでは実習です。2題出題します。


2.ソートの過去問題

基本情報技術者午前平成15年春問69
表 A から表 B を得るための SQL 文はどれか。
表 A
社員コード名前部署コード給料
10010伊藤幸子101200,000
10020斉藤栄一201300,000
10030鈴木裕一101250,000
10040本田一弘102350,000
10050山田五郎102300,000
10060若山まり201250,000

表 B
部署コード社員コード名前
10110010伊藤幸子
10110030鈴木裕一
10210040本田一弘
10210050山田五郎
20110020斉藤栄一
20110060若山まり

SELECT * FROM 表A WHERE 部署コード <> NULL
SELECT 部署コード,社員コード,名前 FROM 表A
SELECT 部署コード,社員コード,名前 FROM 表A GROUP BY 部署コード
SELECT 部署コード,社員コード,名前 FROM 表A ORDER BY 部署コード
正解

 エ

解説

1.SELECTのあとの表示する項目をチェックする。
 まずアはすべての項目を表示させるので候補からはずします。

2.ソートされている項目に注目する
 部署コードでソートされているので、ORDER BY 部署コードのエが正解です。

これで [ソート(ORDER BY)] は終了です。