2章クエリ結果のソート
本章では、クエリ結果の見え方のカスタマイズを取り上げます。結果セットの構造を制御する方法を理解すると、より読みやすく意味のあるデータを提供できます。
レシピ2.1 クエリ結果を指定の順序で返す
問題
部署10の従業員の名前、職種、給与を従業員の給与順で(低い方から高い方へ)表示したい。例えば、次のような結果セットを返したい。
ENAME JOB SAL ---------- --------- ---------- MILLER CLERK 1300 CLARK MANAGER 2450 KING PRESIDENT 5000
解決策
ORDER BY
句を使います。
select ename,job,sal
from emp
where deptno = 10
order by sal asc
解説
ORDER BY
句を使うと、結果セットの行を並べ替えることができます。上の解決策では、行をSAL
の昇順でソートしています。ORDER BY
はデフォルトで昇順にソートするので、ASC
句は省略できます。また、DESC
を指定すると降順にソートされます。
select ename,job,sal
from emp
where deptno = 10
order by sal desc
ENAME JOB SAL ---------- --------- ---------- KING PRESIDENT 5000 CLARK MANAGER 2450 MILLER CLERK 1300
ソートする列名を指定する代わりに、その列を表す番号を指定することもできます。この番号は1から始まり、SELECT
リストを左から右へカウントした項目の順番に該当します。例を示します。 ...
Get SQLクックブック 第2版 ―データベースエキスパート、データサイエンティストのための実践レシピ集 now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.