重要なポイント

並び替えは複数条件記述できる!優先順位を意識しよう!

説明

並び替えには、昇順(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