SQL查詢結果排序


《第二章:查詢結果排序》
1:以指定的次序返回查詢結果
條件:顯示部門10中員工名字,職位和工資並按照工資升序排列:升序asc   降序desc
SELECT ename,job,sal FROM emp WHERE deptno='10' ORDER BY sal asc;

2:按照多個字段排序
表中按照DEPTNO的升序排列然后按照工資降序排列;
SELECT empno,deptno,sal,ename,job FROM emp ORDER BY deptno,sal DESC;

3:按照子串排序
按照字符串的某一部分對查詢結果排序,從EMP表中返回員工名字和職位,並且按照職位字段最后兩個字符排序
SELECT ename,job FROM emp ORDER BY SUBSTR(job,LENGTH(job)-2);

4:對字母數字混合的數據排序

現有字母數字混合的數據,按照數字或字符部分排序
CREATE view V AS SELECT ename||''||deptno AS data from emp select * from V
 
5:處理排序空值
EMP中根據comm排序結果但是這個字段可以為空值需要指定是否將空值排序在最后
SELECT ename,sal,comm FROM emp ORDER BY 3; (還可以根據升序,降序進行排序)

6:根據數據項鍵排序
根據某些條件邏輯排序,列如Job是TES根據comm來排序,否則根據SAL排序;

在ORDER BY子句中使用CASE表達式:
SELECT ename,sal,job,comm FROM emp ORDER BY CASE WHEN job='TAB' THEN comm ELSE sal END

使用CASE表達式來動態改變如何對結果排序,傳遞給ORDER BY的值類似這樣
SELECT ename,sal,job,comm, CASE WHEN job='TAB' THEN comm ELSE sal END AS ORDERED FROM emp ORDER BY 5


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM