【Oracle】昇順・降順でソートするOrder By ASC、DESC【SQL】

Oracleで昇順・降順でソートするOrder By ASC、DESC【SQL】

Oracleで昇順・降順でソートするにはORDER BYでASC、DESCを使用します。

  • ASC・・・昇順(小さい順)
  • DESC・・・降順(大きい順)

 

例1. 番号順(昇順)に取得するパターン

--番号順
SELECT * FROM STUDENT
 ORDER BY EMPNO ASC;
[結果]
------
AOKI
SATOU
YAMADA

--番号順(ASC省略)
SELECT * FROM STUDENT
 ORDER BY EMPNO;
[結果]
------
AOKI
SATOU
YAMADA

昇順(若い順)はASCを使います。ASCはデフォルト値なのでつけなくても構いません。

例2. 番号順(降順)に取得するパターン

--番号順(降順)
SELECT * FROM STUDENT
 ORDER BY EMPNO DESC;
[結果]
--------
YAMADA
SATOU
AOKI

降順(逆順)はDESCを使います。

例3. 名前順、番号順(昇順)に取得するパターン(複数列)

--名前順、番号順
SELECT EEMPNO,EMPNAME  FROM STUDENT
 ORDER BY EMPNO,EMPNAME ASC;
[結果]
----------
001, AOKI TAROU
002, SATOU JIROU
003, SATOU SABUROU
004, YAMADA HANAKO

複数列を並び替える場合は、列をカンマ区切りで書きます。この場合、「ORDER BY EMPNO,EMPNAME ASC」なので、EMPNO 順に並び、その中でさらにEMPNAME 順に並びます。

例4. 列を省略するパターン

--名前順、番号順 
SELECT EMPNO,EMPNAME FROM STUDENT
 ORDER BY 1,2 ASC;
[結果]
---------
001, AOKI TAROU 
002, SATOU JIROU 
003, SATOU SABUROU 
004, YAMADA HANAKO

列名を省略するにはSELECTの順序を指定します。

「SELECT EMPNO,EMPNAME」なので「ORDER BY EMPNO,EMPNAME」にする場合は「ORDER BY 1,2」とします。

「ORDER BY EMPNAME,EMPNO」にする場合は「ORDER BY 2,1」とします。

ASC、DESCをつかって昇順・降順でソートすることができました。

以上、Oracleで昇順・降順でソートするASC、DESCの使い方でした。

コメント

タイトルとURLをコピーしました