重要なポイント

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

説明

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

<例題>

  • 学生マスタ(students_mst)からデータを取得すること。
  • 抽出条件なし
  • カラム:すべてのカラムを抽出すること。
  • 並び替え
    • 学生ID(student_id)を昇順
select * from students_mst sm
 order by sm.student_id asc;

降順パターン

select * from [テーブル名] [別名]
 order by [別名].[カラム名] desc;

<例題>

  • 学生マスタ(students_mst)からデータを取得すること。
  • 抽出条件なし
  • カラム:すべてのカラムを抽出すること。
  • 並び替え
    • 学生ID(student_id)を降順
select * from students_mst sm
 order by sm.student_id desc;

複数条件

select * from [テーブル名] [別名]
 order by [別名].[カラム名1] asc
,[別名].[カラム名2] desc;

<例題>

  • 学生マスタ(students_mst)からデータを取得すること。
  • 抽出条件なし
  • カラム:すべてのカラムを抽出すること。
  • 並び替え
    • 学科ID(department_id)を昇順
    • 学生名カナ(student_name_kana)を降順
select * from students_mst sm
 order by sm.department_id asc
,sm.student_name_kana desc;

条件と並び替え

<例題>

  • 学生マスタ(students_mst)からデータを取得すること。
  • 抽出条件
    • 学科ID(department_id)が〈3〉以上
    • 学科ID(department_id)が〈8〉未満
  • カラム:すべてのカラムを抽出すること。
  • 並び替え
    • 学科ID(department_id)を昇順
    • 学生名カナ(student_name_kana)を降順
select * from students_mst sm
 where sm.department_id >= 3
 and sm.department_id < 8
 order by sm.department_id asc
,sm.student_name_kana desc;

記述の注意点

同じように見える数字でも、カラムの型によって、並び順が変わります。

1,3,2,111,12,10,11

  • 数字型の並び替え
    1,2,3,10,11,12,111
  • 文字型の並び替え
    1,10,11,111,12,2,3