検索

キーワード


目次

【SQL】ORDER BY句の使い方

  • 公開日:2020-10-24 20:46:01
  • 最終更新日:2020-12-26 23:00:03
【SQL】ORDER BY句の使い方

Workteria(ワークテリア)では難易度の高いものから低いものまで、スキルや経験に合わせた案件を多数揃えています。会員登録は無料ですので、ぜひ会員登録してご希望の案件を探してみてください!

フリーランス/正社員のエンジニアとして活躍するには、ご自身のスキルや経験に合わせた仕事を選ぶことが大切です。ご希望の案件がみつからない場合はお気軽にお問い合わせください!ユーザ満足度の高いキャリアコンサルタントが在籍していますので、希望条件や悩み事などなんでもご相談ください。ご希望にピッタリの案件をご紹介させていただきます。

こんにちは。駆け出しプログラマーの松下です!

SQLで順番をかえる際に用いるORDER BY句について説明します。

SQLについて学び始めたばかりという方の参考になれば幸いです。


例ではMicrosoft SQL Serverを使用し、あらかじめ作成した下記の"employees"テーブルからのデータ取得をします。

employees テーブル


ORDER BYの使い方

ORDER BYはSQLでソート順を指定するときに使います。

主にSELECT文などと組み合わせて検索したデータを並び替えます。

SELECT カラム名 
FROM テーブル名 
ORDER BY ソートするカラム名 ASCもしくはDESC;

ORDER BYの後ろに並び替えたい列名を指定し、昇順ならASC、降順ならDESCを記述します。

なお、デフォルトでは昇順となっているのでASCは省略可能です。

SELECT 社員番号,名前,年齢 FROM employees ORDER BY 社員番号 DESC;
SELECT 社員番号,名前,年齢 FROM employees ORDER BY 年齢;

ORDER BY句の使用例

前者では社員番号を指定してDESCなので、社員番号が大きい方から小さくなっていくように並び替わりました。

後者では年齢を指定しその後ろに記述がないので、デフォルトの昇順で若い方から順に並んでいます。


複数のカラムを指定してソートする

ORDER BYの後ろの要素は「,」(カンマ)で区切り複数指定することができます。

その場合、1つ目で指定された条件でソートし、同じ値のものが2つ目の条件で並び替えられます。

SELECT * FROM employees ORDER BY 年齢,給料 DESC;

複数のカラムを指定してソートした例

上の例では、まず年齢の昇順でソートされ34歳が3人いるなかで、給料の降順で並び替えられてます。


SELECT * FROM employees ORDER BY 給料 DESC,年齢 ASC;

ソートに使うカラムの順番を入れ替えた例

年齢が昇順で給料が降順という点では先ほどと同じですが、指定されている順番は給料が先になっています。

そのため先に給料の高い順で並び、360000で同じ2人の並びが年齢の昇順でソートされています。


WHERE句と組み合わせ

条件を指定するWHEREも同時に指定できます。

同時に使用するときは先にWHERE句を書く必要があります。

SELECT 社員番号,名前,生年月日
FROM employees
WHERE 性別 = '男'
ORDER BY 生年月日 ASC;

SELECT *
FROM employees
WHERE 名前 LIKE '_藤%'
ORDER BY 年齢 DESC;

WHERE句とORDER BY句を入れ替えた例

前者では性別が男のデータが取得され、生年月日の昇順で並び替えられてます。

後者ではLIKEで'_藤%'を指定したので、〇藤から始まる名前が年齢の降順で並んでいます。


列名を省略する

SELECTに記述された順番の数字を、ORDER BYで指定することで列名を省略できます。

SELECT 社員番号,名前,年齢
FROM employees
ORDER BY 3 ASC,1 DESC;

列名の代わりに数字を使って列を指定した例

上の例では社員番号が1、名前が2、年齢が3として使用できます。

3の年齢の昇順で並べ、同じ年齢の3人をさらに社員番号の降順で並び替えています。



関連記事:LIKE句について  SELECT文について



【著者】

松下

今年文系未経験からプログラマとなりました。 同じ初心者の方に分かりやすいよう簡潔な記事を心がけていきます。 趣味はサッカー観戦と洋服です。

編集した記事一覧

正社員/フリーランスの方でこのようなお悩みありませんか?

  • 自分に合う案件を定期的に紹介してもらいたい
  • 週2、リモートワークなど自由な働き方をしてみたい
  • 面倒な案件探し・契約周りは任せて仕事に集中したい

そのような方はぜひ、Workteriaサイトをご利用ください!

  • 定期的にご本人に合う高額案件を紹介

  • リモートワークなど自由な働き方ができる案件多数

  • 専属エージェントが契約や請求をトータルサポート

よく読まれている記事