重要なポイント
説明
並び替えには、昇順(asc)と降順(desc)の二つがあります。対象となるカラムの型が何かを意識して、並び替えするようにしましょう。
また、複数の並び替え条件を「,(カンマ)」で区切り記述できます。その場合、上から並び替え優先順位が高くなります。
数字の場合
- 昇順:1,2,3,4,5,6,7,8,9
- 降順:9,8,7,6,5,4,3,2,1
アルファベットの場合
- 昇順:a,b,c,d,e,f,g,h
- 降順:h,g,f,e,d,c,b,a
カタカナの場合
- 昇順:ア,イ,ウ,エ,オ
- 降順:オ,エ,ウ,イ,ア
構文
昇順パターン
select * from [テーブル名] [別名]
order by [別名].[カラム名] asc;
<例題>
- 学生マスタ(student_mst)からデータを取得すること。
- 抽出条件なし
- カラム:すべてのカラムを抽出すること。
- 並び替え
- 学生NO(student_no)を昇順
select * from student_mst sm
order by sm.student_no asc;
降順パターン
select * from [テーブル名] [別名]
order by [別名].[カラム名] desc;
<例題>
- 学生マスタ(student_mst)からデータを取得すること。
- 抽出条件なし
- カラム:すべてのカラムを抽出すること。
- 並び替え
- 学生NO(student_no)を降順
select * from student_mst sm
order by sm.student_no desc;
複数条件
select * from [テーブル名] [別名]
order by [別名].[カラム名1] asc
,[別名].[カラム名2] desc;
<例題>
- 学生マスタ(student_mst)からデータを取得すること。
- 抽出条件なし
- カラム:すべてのカラムを抽出すること。
- 並び替え
- 学科NO(gakka_no)を昇順
- 学生名カナ(student_kn)を降順
select * from student_mst sm
order by sm.gakka_no asc
,sm.student_kn desc;
条件と並び替え
<例題>
- 学生マスタ(student_mst)からデータを取得すること。
- 抽出条件
- 学科NO(gakka_no)が〈3〉以上
- 学科NO(gakka_no)が〈8〉未満
- カラム:すべてのカラムを抽出すること。
- 並び替え
- 学科NO(gakka_no)を昇順
- 学生名カナ(student_kn)を降順
select * from student_mst sm
where sm.gakka_no >= 3
and sm.gakka_no < 8
order by sm.gakka_no asc
,sm.student_kn desc;
記述の注意点
同じように見える数字でも、カラムの型によって、並び順が変わります。
1,3,2,111,12,10,11
- 数字型の並び替え
1,2,3,10,11,12,111 - 文字型の並び替え
1,10,11,111,12,2,3