omachizura

SQLの基本的なことからスタートし、高度な検索・集計方法などの応用テクニックまでできるスキルを紹介します。


ORDER BY句で取得したデータを並び替える

「社員マスタ」と「部署マスタ」というテーブルがあります。

社員マスタ
社員コード社員名部署コード年齢
1テスト社員1122
2テスト社員2230
3テスト社員3null20
4テスト社員4130
部署マスタ
部署コード部署名
1開発部
2営業部

課題

全社員の社員名、部署名、年齢を年齢の降順に表示したい。年齢が同じ場合は社員コードの昇順で表示したい。

SQLは下記のようになります。

SELECT T1.社員名
  ,T2.部署名
  ,T1.年齢
FROM 社員マスタ AS T1
  LEFT JOIN 部署マスタ AS T2
  ON T1.部署コード = T2.部署コード
ORDER BY T1.年齢 DESC, T1.社員コード
実行結果
社員名部署名年齢
テスト社員2開発部30
テスト社員4営業部30
テスト社員1開発部22
テスト社員3null20

取得するデータを並び替えるには、ORDER BY句でソートしたいカラムを指定します。

昇順で並び替えたい場合はカラム名のあとにASC、降順に並び替えたい場合はDESCと指定します。

デフォルトは昇順なのでカラム名のあとに何も指定しない場合は昇順でソートされます。

カンマ区切りで複数のカラムを指定することができます。1番目のカラムの値が同じだった場合は、2番目のカラムでソートされます。





前へ
1

前へ
1