SQL
 Computer >> コンピューター >  >> プログラミング >> SQL

SQLのORDER BY句 完全ガイド|昇順・降順ソートの基本と実践例

SQLのORDER BY句は、クエリが返すレコードの並び順を決定します。テーブル内の任意の列の値を基準に、レコードを昇順または降順で取得することができます。

クエリ結果を並べ替えることで、目的のレコードを素早く見つけやすくなります。

たとえば、「今月の従業員」賞を最も多く受賞した従業員を知りたい場合、その受賞回数を基準にクエリを並べ替えれば、最も多く受賞した従業員を先頭に表示できます。

本記事では、SQLのORDER BY句の基本的な構文から実際の使用例までを詳しく解説し、このキーワードを使いこなせるようになるまで丁寧に説明していきます。

SQL ORDER BYとは

SQLのORDER BYキーワードは、クエリの結果を並べ替えるために使用します。特定の1つの列、あるいは複数の列を基準にして、結果を昇順・降順のどちらでも並べ替えることが可能です。

ORDER BYクエリの基本構文は以下の通りです。

SELECT name
FROM employees
ORDER BY name, joined ASC;

まずSELECT文の後に取得したい列名を指定し、続いてFROM句でemployeesテーブルからデータを取得することを宣言します。

この例では、ORDER BY句によってname列とjoined列を基準に結果が並べ替えられます。まず名前の昇順(ABC順)で並べ替えられます。

同名の従業員が複数いる場合は、joined列(入社日)が昇順に指定されているため、入社日が新しい人ほど後ろに表示されます。

なお、SQLではデフォルトで列は昇順に並べ替えられます。ORDER BY句では、以下の2種類の並び順を明示的に指定できます。

  • ASC:昇順(小さい値から大きい値へ)
  • DESC:降順(大きい値から小さい値へ)

列をカンマ区切りで指定すれば、複数の列をそれぞれ異なる順序で並べ替えることもできます。

SELECT name
FROM employees
ORDER BY name ASC, joined DESC;

このクエリでは、まずname列を昇順で並べ替え、同じ名前が存在する場合に限り、その中でjoined列を降順(新しい日付が先頭)で並べ替えます。

ORDER BYの実行例

ここで、ORDER BY句の実際の動作を確認するためのサンプルクエリを実行してみましょう。すべての従業員の名前と役職の一覧を取得し、従業員名のアルファベット順に並べ替えることを目標とします。

このデータを取得するには、次のクエリを使用します。

SELECT name, title FROM employees ORDER BY name ASC;

このクエリは結果セットを並べ替えます。昇順で並べ替えた結果は以下の通りです。

nametitle
AlexisSales Associate
GeoffSenior Sales Associate
HannahSales Associate
JonahVice President of Sales
LukeSales Associate
MikeSales Associate

アルファベットの逆順(Z→A)で並べ替えたい場合は、ASCDESCに置き換えるだけで実現できます。

さらに、複数の列を基準にした並べ替えも可能です。これは、テーブル内に重複した値が存在し、それらも整理したい場合に特に便利です。

たとえば「役職ごとに、勤続期間が短い順に従業員を一覧化したい」というケースを考えてみましょう。次のクエリで実現できます。

SELECT name, title, hired_date FROM employees ORDER BY title, hired_date DESC;

ORDER BY句によってクエリ結果が並べ替えられます。実行結果は以下の通りです。

nametitlehired_date
EmmaMarketing Director2010-03-19
AlexisSales Associate2014-04-01
HannahSales Associate2011-09-30
MikeSales Associate2010-03-19
LukeSales Associate2009-12-03
GeoffSenior Sales Associate2012-03-17
JonahVice President of Sales2010-07-23

(7行)

ご覧のとおり、テーブルは従業員の役職と入社日の両方を基準に並べ替えられており、ORDER BY句が正しく機能していることがわかります。

この結果から、直近で採用された販売担当者はAlexis、最も勤続年数が長いのはLukeであることがひと目で判断できます。また、他の従業員についても、役職別に入社日を簡単に確認できます。

まとめ

SQLのORDER BY句は、クエリが返すレコードの並び順を制御するための構文です。昇順・降順のどちらでも並べ替えが可能で、指定しない場合はデフォルトで昇順になります。

SQLについてさらに学びたい方は、「SQLの学習方法」ガイドもぜひ参考にしてください。効率的な学習のコツや、実務で必要なスキルを身につけるのに役立つ学習リソースを多数ご紹介しています。

  1. Windows 10のマウス設定を徹底解説!初心者にもわかる完全ガイド

    有線・ワイヤレス・Bluetoothいずれのマウスも、PCに接続すればすぐに使い始められますが、自分好みにカスタマイズしておくと、より快適に作業できるようになります。Windows 10にはマウスに関する豊富な設定項目が用意されており、これらを活用することで操作性を大きく向上させることができます。 例えば、カーソルの移動速度を変えたり、左右のボタンを入れ替えたり、ポインターの見た目をカスタマイズしたりすることが可能です。この記事では、Windows 10のマウスに関連するすべての機能を網羅的に解説していきます。 設定アプリでできる基本のマウス設定 Windows 10の「設定」

  2. Fitbit Pay完全ガイド:設定方法からお支払い・セキュリティ対策まで徹底解説

    Fitbitは、最も優れたスマートウェアラブルデバイスのひとつです。多彩なモデルと豊富な機能を備えており、その中でも人気の高い機能が「Fitbit Pay」です。Fitbit IonicやFitbit Versaに搭載されたNFC(近距離無線通信)チップにより、非接触決済に対応したあらゆる店舗で、腕時計をつけたまま支払いが可能になります。 この記事では、Fitbit Payの使い方をマスターできるよう、設定方法からセキュリティ対策まで完全ガイドとして詳しく解説します。 Fitbit Payとは? Fitbit Payは、デビットカードやクレジットカードをFitbit IonicおよびVersa