編程技能(十)掌握SQL——單表查詢(xún)基本語(yǔ)句

思維導(dǎo)圖

本文通過(guò)案例進(jìn)行講解

假設(shè)數(shù)據(jù)庫(kù)有一個(gè)名為students_grade的表:

計(jì)算所有學(xué)生各個(gè)學(xué)科在2019年的平均分壤躲,篩選出平均分超過(guò)60分的記錄刷后,并且最后以平均分進(jìn)行降序排列沿彭。

  • 代碼示例:


1峻汉、關(guān)鍵字的執(zhí)行順序

from -> where -> group by -> select -> having -> order by

  • 關(guān)鍵字的執(zhí)行順序并不是完全按照代碼中書(shū)寫(xiě)的順序來(lái)執(zhí)行的


2互躬、from

  • from开仰,后面跟著原表拟枚,最終的結(jié)果表是基于該表進(jìn)行加工得到的

  • 案例中,原表是students_grade众弓,其全名是由庫(kù)名和表名兩部分組成的恩溅,用“.”連接,如dw.students_grade

  • 所以在表名中使用“_”進(jìn)行連接谓娃,而不用"."脚乡,避免引起歧義


3.where

  • where,表示在計(jì)算前對(duì)原表的記錄進(jìn)行篩選

  • Hive中大部分表示分區(qū)表滨达,使用分區(qū)字段可以加快查詢(xún)速度

  • 對(duì)于分區(qū)表奶稠,where條件是不可或缺的,一定要在where條件中選擇分區(qū)范圍


4.group by

  • group by捡遍,用于分組锌订,確定后面聚合計(jì)算的范圍

  • 案例中要計(jì)算同一個(gè)學(xué)生、同一個(gè)學(xué)科的平均分画株,因此使用group by id,name,subject

  • 對(duì)于簡(jiǎn)單的不需要進(jìn)行分組計(jì)算的查詢(xún)辆飘,可以不使用group by


5.select

  • 在from啦辐、where、group by語(yǔ)句都執(zhí)行完成后蜈项,才會(huì)開(kāi)始執(zhí)行select語(yǔ)句

  • select后面的是最終會(huì)出現(xiàn)在結(jié)果表的字段

  • select后的字段包括兩部分:用于分組的字段和利用聚合函數(shù)計(jì)算出的字段


6.group by

  • 在group by語(yǔ)句存在的情況下芹关,select后的所有非聚合字段都會(huì)被視為分組字段,需要在group by語(yǔ)句中出現(xiàn)战得,否則就會(huì)報(bào)錯(cuò)

  • 在group by后出現(xiàn)的分組字段充边,不在select語(yǔ)句中出現(xiàn)庸推,不會(huì)報(bào)錯(cuò)常侦,但是會(huì)引起歧義

  • 需要保證select后的非聚合字段和group by后的分組字段一一對(duì)應(yīng)


7.as

  • 在select語(yǔ)句中可以使用as為所有字段重命名,稱(chēng)為字段別名

  • 通過(guò)聚合計(jì)算得到的字段贬媒,這一步是不可或缺的聋亡,否則會(huì)給出默認(rèn)的沒(méi)有任何含義的字段名

  • 由于group by語(yǔ)句是在select語(yǔ)句前執(zhí)行的,因此select語(yǔ)句中不可以出現(xiàn)字段別名


8.having

  • 只有存在group by語(yǔ)句時(shí)才會(huì)使用having际乘,沒(méi)有g(shù)roup by語(yǔ)句而只有having會(huì)報(bào)錯(cuò)

  • having主要用于對(duì)聚合計(jì)算后的字段進(jìn)行篩選

  • having語(yǔ)句在select語(yǔ)句之后執(zhí)行坡倔,可以使用字段別名


9.order by

  • 用于排序

  • 基于一列進(jìn)行排序的語(yǔ)法格式:"order by 字段名 asc/desc"

  • asc表示升序排列,desc表示降序排列

  • 基于多列排序的語(yǔ)法格式:"order by c1 asc, c2 desc,c3 asc"

  • order語(yǔ)句在select語(yǔ)句之后執(zhí)行脖含,可以使用字段別名


參考文獻(xiàn)

1.《拿下Offer 數(shù)據(jù)分析師求職面試指南》徐麟 著

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末罪塔,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子养葵,更是在濱河造成了極大的恐慌征堪,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,651評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件关拒,死亡現(xiàn)場(chǎng)離奇詭異佃蚜,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)着绊,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,468評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門(mén)谐算,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人归露,你說(shuō)我怎么就攤上這事洲脂。” “怎么了剧包?”我有些...
    開(kāi)封第一講書(shū)人閱讀 162,931評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵恐锦,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我玄捕,道長(zhǎng)踩蔚,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,218評(píng)論 1 292
  • 正文 為了忘掉前任枚粘,我火速辦了婚禮馅闽,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己福也,他們只是感情好局骤,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,234評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著暴凑,像睡著了一般峦甩。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上现喳,一...
    開(kāi)封第一講書(shū)人閱讀 51,198評(píng)論 1 299
  • 那天凯傲,我揣著相機(jī)與錄音,去河邊找鬼嗦篱。 笑死冰单,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的灸促。 我是一名探鬼主播诫欠,決...
    沈念sama閱讀 40,084評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼浴栽!你這毒婦竟也來(lái)了荒叼?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 38,926評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤典鸡,失蹤者是張志新(化名)和其女友劉穎被廓,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體椿每,經(jīng)...
    沈念sama閱讀 45,341評(píng)論 1 311
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡伊者,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,563評(píng)論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了间护。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片亦渗。...
    茶點(diǎn)故事閱讀 39,731評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖汁尺,靈堂內(nèi)的尸體忽然破棺而出法精,到底是詐尸還是另有隱情,我是刑警寧澤痴突,帶...
    沈念sama閱讀 35,430評(píng)論 5 343
  • 正文 年R本政府宣布搂蜓,位于F島的核電站,受9級(jí)特大地震影響辽装,放射性物質(zhì)發(fā)生泄漏帮碰。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,036評(píng)論 3 326
  • 文/蒙蒙 一拾积、第九天 我趴在偏房一處隱蔽的房頂上張望殉挽。 院中可真熱鬧丰涉,春花似錦、人聲如沸斯碌。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,676評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)傻唾。三九已至投慈,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間冠骄,已是汗流浹背伪煤。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,829評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留猴抹,地道東北人带族。 一個(gè)月前我還...
    沈念sama閱讀 47,743評(píng)論 2 368
  • 正文 我出身青樓锁荔,卻偏偏與公主長(zhǎng)得像蟀给,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子阳堕,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,629評(píng)論 2 354

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