一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

SQL點滴(排序篇):數(shù)據(jù)常規(guī)排序查詢實戰(zhàn)示例

 xxcc140 2020-01-06

導引

本文主要是針對在微頭條上發(fā)布關于SQL查詢排序的常規(guī)實操案例的匯總,以便收藏在線查閱。

SQL點滴(排序篇):數(shù)據(jù)常規(guī)排序查詢實戰(zhàn)示例

關于查詢排序的參考示例主要有:

1.如何實現(xiàn)以指定的次序返回查詢結果?


比如我們要對部門編號為3的員工工資的按升序排列結果,可以這樣進行SQL語句的編寫:
select ename,job,salary,comm from employee where departid = 2 order by salary asc
這樣即可。
這類需要注意的是排序關鍵字,然后指明排序的字段名(或者字段位置編號,從1開始,這里可以替換為order by 3);另外,asc是可選的,若不顯示指出,即為升序(最小的在第一行),若要降序,則改為order by columnname desc即可。若這樣,本查詢中salary具有最大值的在第一行。

2.對多個字段排序及注意事項


假設有這樣的場景需求,即根據(jù)雇傭日期降序排序,再對部門員工的薪資進行升序排序,如何實現(xiàn)?我們可以這樣來進行SQL語句的編寫:

select * from employee order by hiredate desc ,salary asc


這里排序是要注意的語法寫法,即order by后可以逗號分隔多個字段進行排序,字段也可用列的位置編號進行,并指定相應的排序方式:asc 或desc。

注意點:1)order by 的優(yōu)先次序是從左到右的;

2)可以以select字段列表中沒出現(xiàn)的列來排序,但必須給出列名;

3)如果使用了group by 或distinct,則不能按照select列表中沒有的列來排序。

比如,你要寫SQL:
select departid,sum(salary) sm from employee group by departid order by departid desc

這樣可以的,但若departid換成hiredate就錯了。

3.如何實現(xiàn)基于字段列值的子串排序?


要實現(xiàn)按字段值的子串排序,只要用substr函數(shù)即可(MS SQL用substring函數(shù)),實例如下:


select ename,job,salary from employee order by substr(job,length(job)-2) 。

也就是說,可使用DBMS內(nèi)置的子串函數(shù),很容易做到根據(jù)一部分值來排序。上面的SQL意思即為按照job最后兩個字符排序后返回結果。

若是SQL Server,則需要改為substring(job,len(job)-2,2),其子串函數(shù)需要指定獲取的字符數(shù)。

另外,也要注意各自內(nèi)置函數(shù)名的寫法或區(qū)別,以免運行出錯。

4.如何在order by中用動態(tài)指定排序列?


在寫SQL語句時,我們是可在排序子句中應用case語句動態(tài)指定排序字段的。具體實現(xiàn)如下:


select ename,salary.job,comm

from employee order by case

when job='經(jīng)理' then salary

else comm

end


這樣就可以使用case表達式來動態(tài)改變?nèi)绾螌Y果排序了。上面是直接在order by子句中實現(xiàn)的。其實這相于于在select字段列表中增加了一列,然后按照新增列排序。如果在select列中增加一列,在結合order by 的按列位置排序,其完整的句子參考如下:
select ename ,salary,job,comm,case when job ='經(jīng)理' then comm else salary end as ordercolumn from employee order by 5
當然,你可以把5換為case列別名ordercoulumn。就這樣了,試試吧。

常用的關于單表排序操作,基本上就這些。后面還會繼續(xù)講些SQL的看了能用的實例SQL寫法。下一篇將是關注多表的操作。本篇就想到這里了。轉(zhuǎn)發(fā)出去吧

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    精品熟女少妇av免费久久野外| 九九热最新视频免费观看| 高清在线精品一区二区| 91人妻久久精品一区二区三区| 美女黄片大全在线观看| 福利专区 久久精品午夜| 日韩欧美好看的剧情片免费| 蜜臀人妻一区二区三区| 亚洲欧美日韩中文字幕二欧美| 九九蜜桃视频香蕉视频| 亚洲国产香蕉视频在线观看| 中文人妻精品一区二区三区四区| 殴美女美女大码性淫生活在线播放| 国产又粗又深又猛又爽又黄| 欧美丝袜诱惑一区二区| 国产日韩综合一区在线观看| 精品午夜福利无人区乱码| 色偷偷偷拍视频在线观看| 一区二区日本一区二区欧美| 欧美一区二区三区五月婷婷| 国产亚洲精品香蕉视频播放| 午夜视频免费观看成人| 国产午夜精品美女露脸视频| 国产亚洲系列91精品| 东京热男人的天堂社区| 中文字幕精品人妻一区| 夫妻性生活一级黄色录像| 国产又色又爽又黄又免费| 日本在线 一区 二区| 亚洲深夜精品福利一区| 暴力性生活在线免费视频| 美国女大兵激情豪放视频播放| 久久夜色精品国产高清不卡| 亚洲高清亚洲欧美一区二区| 国产一级内片内射免费看 | 国产又粗又猛又大爽又黄| 精品al亚洲麻豆一区| 日韩国产亚洲一区二区三区| 欧美视频在线观看一区| 久久国产人妻一区二区免费| 少妇肥臀一区二区三区|