SQLでのORDER BYの使い方
ORDER BYの基本
SQLのORDER BY句は、SELECT文で取得した結果を特定の列の値に基づいて並び替えるために使用します。
SELECT * FROM users ORDER BY age;
昇順・降順の指定
デフォルトでは昇順(ASC)になりますが、明示的に指定することもできます。降順にする場合はDESCを指定します。
SELECT * FROM users ORDER BY age ASC; -- 昇順
SELECT * FROM users ORDER BY age DESC; -- 降順
複数のカラムで並び替え
複数のカラムを指定すると、最初のカラムで並び替えた後、同じ値の場合に次のカラムで並び替えが行われます。
SELECT * FROM users ORDER BY age DESC, name ASC;
数値データの並び替え
数値データは通常の大小比較で並び替えが行われます。
SELECT * FROM products ORDER BY price DESC;
文字列データの並び替え
文字列データは辞書順で並び替えられます。大文字小文字の違いはデータベースによります。
SELECT * FROM customers ORDER BY last_name;
NULLの扱い
NULL値はデフォルトでは最後に並びますが、NULLS FIRSTやNULLS LASTを指定できます。
SELECT * FROM employees ORDER BY salary DESC NULLS LAST;
ORDER BYとLIMITの組み合わせ
ORDER BYとLIMITを組み合わせることで、上位・下位のデータを取得できます。
SELECT * FROM sales ORDER BY revenue DESC LIMIT 10;