《SQL必知必會(huì)》第3課 排序檢索數(shù)據(jù)

3.1 排序數(shù)據(jù)

3.2 按多個(gè)列排序

3.3 按列位置排序

3.4 指定排序方向

3.5 code

3.6 挑戰(zhàn)題

這一課講授如何使用 SELECT 語(yǔ)句的

ORDER BY 子句熬拒,根據(jù)需要排序檢索出的數(shù)據(jù)。

3.1 排序數(shù)據(jù)

輸入SELECT prod_name

?????????? FROM Products

?????????? ORDER BY prod_name;

分析:除了指示 DBMS 軟件對(duì)prod_name列以字母順序排序數(shù)據(jù)的 ORDER BY子句外集漾,這條語(yǔ)句 與前面的語(yǔ)句相同码荔。

輸出:

排序結(jié)果
概念1
注意

3.2 按多個(gè)列排序

經(jīng)常需要按不止一個(gè)列進(jìn)行數(shù)據(jù)排序。例如笙以,如果要顯示雇員名單淌实,可能希望按姓和名排序(首先按姓排序,然后在每個(gè)姓中再按名排序)猖腕。如果多個(gè)雇員有相同的姓拆祈,這樣做很有用。

要按多個(gè)列排序倘感,只須指定這些列名放坏,列名之間用逗號(hào)分開(kāi)即可(就像選擇多個(gè)列時(shí)那樣)。

輸入:SELECT prod_id, prod_price, prod_name

?????????? FROM Products

?????????? ORDER BY prod_price, prod_name;

分析:代碼檢索 3 個(gè)列老玛,并按其中兩個(gè)列對(duì)結(jié)果進(jìn)行排序——首先按價(jià)格淤年,然后按名稱排序

輸出:

按多個(gè)排序結(jié)果

3.3 按列位置排序

輸入:SELECT prod_id, prod_price, prod_name

?????????? FROM Products

?????????? ORDER BY 2, 3;

分析:可以看到,這里的輸出與上面的查詢相同蜡豹,不同之處在于 ORDER BY 子句麸粮。SELECT 清單中指定的是選擇列的相對(duì)位置而不是列名。ORDER BY 2表示按 SELECT 清單中的第二個(gè)列 prod_price 進(jìn)行排序镜廉。ORDER BY 2弄诲,3 表示先按 prod_price,再按 prod_name 進(jìn)行排序娇唯。

輸出:

結(jié)果
提示

3.4 指定排序方向

數(shù)據(jù)排序不限于升序排序(從 A 到 Z)齐遵,這只是默認(rèn)的排序順序凤巨。還可以使用 ORDER BY 子句進(jìn)行降序(從 Z 到 A)排序。為了進(jìn)行降序排序洛搀,必須指定 DESC 關(guān)鍵字敢茁。

輸入:SELECT prod_id, prod_price, prod_name

?????????? FROM Products

?????????? ORDER BY prod_price DESC;

分析:以價(jià)格降序來(lái)排序產(chǎn)品(最貴的排在最前面)

輸出:

按prod_price降序輸出結(jié)果


輸入:SELECT prod_id, prod_price, prod_name

?????????? FROM Products

?????????? ORDER BY prod_price DESC,prod_name;

分析:先以降序排列prod_price,再按升序排列prod_name留美。DESC關(guān)鍵字只應(yīng)用到直接位于其前面的列名彰檬。

輸出:

多列排序結(jié)果


請(qǐng)注意,DESC 是 DESCENDING的縮寫谎砾,這兩個(gè)關(guān)鍵字都可以使用逢倍。與 DESC相對(duì)的是 ASC(或ASCENDING),在升序排序時(shí)可以指定它景图。但實(shí)際上较雕,ASC 沒(méi)有多大用處,因?yàn)樯蚴悄J(rèn)的(如果既不指定 ASC 也不指定DESC挚币,則假定為 ASC)亮蒋。

3.5 code

這一課學(xué)習(xí)了如何用 SELECT 語(yǔ)句的 ORDER BY 子句對(duì)檢索出的數(shù)據(jù)進(jìn)行排序。這個(gè)子句必須是 SELECT 語(yǔ)句中的最后一條子句妆毕。根據(jù)需要慎玖,可以利用它在一個(gè)或多個(gè)列上對(duì)數(shù)據(jù)進(jìn)行排序

-- --------第3課--------

#3.1 排序數(shù)據(jù)

SELECT prod_name

FROM Products

ORDER BY prod_name;

#3.2 按多個(gè)列排序

SELECT prod_id, prod_price, prod_name

FROM Products

ORDER BY prod_price, prod_name;

#3.3 按列位置排序

SELECT prod_id, prod_price, prod_name

FROM Products

ORDER BY 2, 3;

#3.4 指定排序方向(升or降)

SELECT prod_id, prod_price, prod_name

FROM Products

ORDER BY prod_price DESC;

SELECT prod_id, prod_price, prod_name

FROM Products

ORDER BY prod_price DESC,prod_name;

3.6 挑戰(zhàn)題

1. 編寫 SQL 語(yǔ)句笛粘,從 Customers 中檢索所有的顧客名稱(cust_name)趁怔,并按從 Z 到 A 的順序顯示結(jié)果。
SELECT cust_name

FROM Customers

ORDER BY cust_name DESC;

2. 編寫 SQL 語(yǔ)句薪前,從 Orders 表中檢索顧客 ID(cust_id)和訂單號(hào)(order_num)润努,并先按顧客 ID 對(duì)結(jié)果進(jìn)行排序,再按訂單日期倒序排列示括。
SELECT cust_id,order_num

FROM Orders

ORDER BY cust_id,order_date DESC;

3. 顯然铺浇,我們的虛擬商店更喜歡出售比較貴的物品,而且這類物品有很多例诀。編寫 SQL 語(yǔ)句随抠,顯示 OrderItems 表中的數(shù)量和價(jià)格(item_price)裁着,并按數(shù)量由多到少繁涂、價(jià)格由高到低排序。
SELECT quantity,item_price

FROM Orderitems

ORDER BY quantity DESC,item_price DESC

4. 下面的 SQL 語(yǔ)句有問(wèn)題嗎二驰?(嘗試在不運(yùn)行的情況下指出扔罪。)

SELECT vend_name,

FROM Vendors

ORDER vend_name DESC;

改正:

SELECT vend_name

FROM Vendors

ORDER BY vend_name DESC;

參考:https://forta.com/books/0135182794/challenges/

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市桶雀,隨后出現(xiàn)的幾起案子矿酵,更是在濱河造成了極大的恐慌唬复,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,884評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件全肮,死亡現(xiàn)場(chǎng)離奇詭異敞咧,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)辜腺,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,755評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門休建,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人评疗,你說(shuō)我怎么就攤上這事测砂。” “怎么了百匆?”我有些...
    開(kāi)封第一講書(shū)人閱讀 158,369評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵砌些,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我加匈,道長(zhǎng)存璃,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,799評(píng)論 1 285
  • 正文 為了忘掉前任雕拼,我火速辦了婚禮有巧,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘悲没。我一直安慰自己篮迎,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,910評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布示姿。 她就那樣靜靜地躺著甜橱,像睡著了一般。 火紅的嫁衣襯著肌膚如雪栈戳。 梳的紋絲不亂的頭發(fā)上岂傲,一...
    開(kāi)封第一講書(shū)人閱讀 50,096評(píng)論 1 291
  • 那天,我揣著相機(jī)與錄音子檀,去河邊找鬼镊掖。 笑死,一個(gè)胖子當(dāng)著我的面吹牛褂痰,可吹牛的內(nèi)容都是我干的亩进。 我是一名探鬼主播,決...
    沈念sama閱讀 39,159評(píng)論 3 411
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼缩歪,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼归薛!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,917評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤主籍,失蹤者是張志新(化名)和其女友劉穎习贫,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體千元,經(jīng)...
    沈念sama閱讀 44,360評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡苫昌,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,673評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了幸海。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蜡歹。...
    茶點(diǎn)故事閱讀 38,814評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖涕烧,靈堂內(nèi)的尸體忽然破棺而出月而,到底是詐尸還是另有隱情,我是刑警寧澤议纯,帶...
    沈念sama閱讀 34,509評(píng)論 4 334
  • 正文 年R本政府宣布父款,位于F島的核電站,受9級(jí)特大地震影響瞻凤,放射性物質(zhì)發(fā)生泄漏憨攒。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,156評(píng)論 3 317
  • 文/蒙蒙 一阀参、第九天 我趴在偏房一處隱蔽的房頂上張望肝集。 院中可真熱鬧,春花似錦蛛壳、人聲如沸杏瞻。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,882評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)捞挥。三九已至,卻和暖如春忧吟,著一層夾襖步出監(jiān)牢的瞬間砌函,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,123評(píng)論 1 267
  • 我被黑心中介騙來(lái)泰國(guó)打工溜族, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留讹俊,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,641評(píng)論 2 362
  • 正文 我出身青樓煌抒,卻偏偏與公主長(zhǎng)得像仍劈,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子摧玫,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,728評(píng)論 2 351

推薦閱讀更多精彩內(nèi)容