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の使い方でした。
コメント