《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 業(yè)界動態(tài) > SQL用了兩年多,分享2個最常用的小技巧

SQL用了兩年多,分享2個最常用的小技巧

2021-07-10
來源:CSDN
關(guān)鍵詞: SQL 小技巧

導(dǎo)讀:SQL是所有數(shù)據(jù)從業(yè)者必須打牢的基本功之一,扎實(shí)的SQL查詢和適當(dāng)?shù)恼{(diào)優(yōu)技巧是檢驗(yàn)SQL能力的兩大重要準(zhǔn)則。個人曾經(jīng)專門花費(fèi)過好多時間用于提升SQL能力,期間也刷了大量的SQL題目,在這期間也不斷摸索總結(jié)了一些小技巧,今天本文就來分享其中的兩個,也差不多是日常使用中最為高頻的兩個了。

為了配合演示這兩個小技巧,本文所使用示例數(shù)據(jù)如下,其實(shí)這也是前幾天推文中所使用的數(shù)據(jù):

微信圖片_20210710225409.png

  SQL的數(shù)據(jù)類型隱式轉(zhuǎn)換

  很多編程語言都限定了數(shù)據(jù)類型,例如在Python中字符串“0”和數(shù)值0是不相等的,布爾型True和數(shù)值1也是不相等,但在SQL中則不然,其內(nèi)置了數(shù)據(jù)類型隱式轉(zhuǎn)換功能,所以執(zhí)行查詢 select “0”=0 會返回1的,這既說明字符串“0”和數(shù)值0是相等的,也說明SQL中的布爾值會自動轉(zhuǎn)換為1或0。

微信圖片_20210710225412.png

  利用這一小技巧,在實(shí)現(xiàn)很多統(tǒng)計指標(biāo)時就可以有很多小技巧。例如計算學(xué)生成績表中每名學(xué)生的成績的優(yōu)秀率,即成績在90分以上的科目與本人總科目的占比。為實(shí)現(xiàn)這一查詢,常規(guī)的操作是分別統(tǒng)計每名學(xué)生成績在90分以上的科目數(shù)量和總科目,然后進(jìn)行相除得到占比。

  實(shí)際上,在給出前述小例子的基礎(chǔ)上,這一需求可以如下實(shí)現(xiàn):

微信圖片_20210710225414.png

其中,在每名學(xué)生的分組中,條件判斷score>=90返回一組0或1的結(jié)果,對這組0/1取值進(jìn)行求均值操作,即等價于求成績>=90的科目占比。

  巧妙運(yùn)用if函數(shù)和null

  SQL內(nèi)置了眾多函數(shù),但對于一名程序員而言if函數(shù)應(yīng)該尤為常見和常用;另一方面,null值也是SQL中一個神奇的存在,它有兩大特性:一是任何值與null的任何計算都會得到null值;二是在任何聚合函數(shù)中,null值都不參與計算(例如,count計數(shù)就是查找null以外的結(jié)果數(shù)量)。配合使用if函數(shù)和null值,有時也可實(shí)現(xiàn)很好的效果。

  例如,仍然針對以上學(xué)生成績表,需要分別統(tǒng)計每名學(xué)生成績在80分以上成績的平均值,也就是如果成績>=80則參與最后均值計算,否則不參與。配合if函數(shù)和null的特性,可以如下優(yōu)雅的實(shí)現(xiàn):

微信圖片_20210710225417.png

  實(shí)際上,上述查詢語句中,首先通過if函數(shù)衍生一個臨時字段if(score>=80, score, null)其取值為:成績≥80時取成績值,否則置為null,即相當(dāng)于僅保留了成績在80分以上的記錄;而后嵌套一層avg函數(shù)即直接實(shí)現(xiàn)了計算80分以上平均值的效果。

  當(dāng)然,對于這一需求也可以先用where條件過濾出成績在80分以上的記錄后再聚合統(tǒng)計。




電子技術(shù)圖片.png

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲第一狼人社区| 久久国产精品毛片| 亚洲欧美日韩精品一区二区| 亚洲国产一二三| 在线精品视频一区二区三四| 国产一区二区中文| 国产裸体写真av一区二区| 欧美亚州韩日在线看免费版国语版| 欧美华人在线视频| 欧美成人一区二区三区| 欧美成人精品1314www| 蜜臀久久久99精品久久久久久| 久久米奇亚洲| 久久躁狠狠躁夜夜爽| 久久久久欧美精品| 久热这里只精品99re8久| 久久激情五月婷婷| 久久久国产精品一区| 久久精品日产第一区二区| 久久精品免费| 欧美自拍偷拍| 久久久噜久噜久久综合| 久久亚洲高清| 免费一级欧美片在线播放| 欧美成在线视频| 欧美精品1区2区| 欧美日韩一区二区在线观看视频| 欧美午夜女人视频在线| 国产精品白丝黑袜喷水久久久| 国产精品电影网站| 国产精品久久久一本精品| 国产九九视频一区二区三区| 国产日本欧洲亚洲| 狠狠久久五月精品中文字幕| 在线成人av| 亚洲日本激情| 在线中文字幕一区| 性做久久久久久久久| 亚洲第一天堂av| 亚洲精品免费一区二区三区| 在线视频精品一区| 欧美一进一出视频| 久久综合色88| 欧美精品一区二区三区在线看午夜| 欧美精品乱人伦久久久久久| 欧美亚洲第一区| 国产视频精品网| 亚洲国产精品成人va在线观看| 亚洲精品黄色| 亚洲在线网站| 亚洲国产裸拍裸体视频在线观看乱了中文 | 久久裸体视频| 欧美精品一区二区三区在线播放 | 国产精品嫩草99av在线| 韩国成人福利片在线播放| 亚洲电影下载| 亚洲视频一二三| 亚洲国产一二三| 亚洲一区二区三区精品视频| 久久久久**毛片大全| 欧美日本高清一区| 国产区精品视频| 亚洲日本精品国产第一区| 亚洲欧美在线高清| 日韩午夜在线| 久久久久国产一区二区| 欧美日韩国产综合视频在线观看 | 99riav久久精品riav| 亚洲欧美日韩精品在线| 亚洲精品一区在线观看| 羞羞色国产精品| 欧美精品日韩| 国产一区二区av| 在线亚洲激情| 亚洲欧洲在线一区| 欧美在线不卡视频| 午夜在线一区| 欧美激情一级片一区二区| 欧美调教视频| 在线免费观看视频一区| 亚洲天堂av综合网| 亚洲品质自拍| 久久精品夜色噜噜亚洲aⅴ| 欧美日韩中文| 一区二区三区无毛| 亚洲欧美经典视频| 亚洲色诱最新| 欧美黄色aaaa| 黄色成人在线免费| 亚洲欧美日韩精品久久久久| 亚洲视频图片小说| 欧美大片免费| 国内久久视频| 午夜免费日韩视频| 亚洲免费一在线| 欧美日韩亚洲成人| 亚洲国产精品一区在线观看不卡 | 国产三级欧美三级日产三级99| 久久精品视频导航| 亚洲免费电影在线| 久久精品亚洲精品国产欧美kt∨| 亚洲在线国产日韩欧美| 欧美大片在线观看| 伊人一区二区三区久久精品| 性娇小13――14欧美| 亚洲综合色激情五月| 欧美色网在线| 亚洲美女黄色| 99精品国产在热久久下载| 欧美成人午夜剧场免费观看| 一区二区在线不卡| 久久se精品一区二区| 久久国产精品99国产| 国产乱码精品1区2区3区| 亚洲手机视频| 亚洲直播在线一区| 欧美日韩综合视频| 99国产精品自拍| 亚洲婷婷国产精品电影人久久| 欧美精品一区二区三区久久久竹菊| 亚洲福利视频一区二区| 亚洲欧洲久久| 欧美国产欧美亚洲国产日韩mv天天看完整 | 亚洲承认在线| 久久综合九九| 激情久久中文字幕| 亚洲国产小视频| 亚洲综合丁香| 亚洲愉拍自拍另类高清精品| 亚洲综合国产| 欧美日韩亚洲视频| 一本到高清视频免费精品| 亚洲网友自拍| 国产日韩一区二区三区| 国产精品久久久久久五月尺| 久热精品视频在线| 亚洲国产一区二区三区青草影视| 性色一区二区| 久久久久欧美精品| 狠狠噜噜久久| 亚洲国产成人av| 欧美国产日韩精品| 亚洲精品久久久久中文字幕欢迎你| 久久久免费观看视频| 国产精品一二| 欧美怡红院视频一区二区三区| 玖玖玖国产精品| 91久久综合亚洲鲁鲁五月天| 一本久道久久久| 国产精品区一区| 久久成人免费视频| 六月婷婷久久| 日韩亚洲欧美成人| 欧美专区18| 亚洲国产精品日韩| 亚洲一区不卡| 国产日韩欧美一区二区三区在线观看 | 欧美sm重口味系列视频在线观看| 亚洲人成在线观看| 销魂美女一区二区三区视频在线| 国语自产精品视频在线看抢先版结局| 亚洲精品美女在线观看播放| 欧美亚一区二区| 欧美在线一二三四区| 欧美激情视频给我| 亚洲一区二区少妇| 老色鬼精品视频在线观看播放| 亚洲精品偷拍| 欧美在线亚洲综合一区| 亚洲高清123| 欧美一区二区三区的| 亚洲第一二三四五区| 亚洲摸下面视频| 伊人久久综合97精品| 亚洲新中文字幕| 狠狠色香婷婷久久亚洲精品| 99精品视频免费在线观看| 国产欧美日韩亚洲精品| 亚洲三级视频在线观看| 国产欧美日本在线| 夜夜夜久久久| 黄色成人精品网站| 亚洲欧美中文在线视频| 亚洲国产精品99久久久久久久久| 亚洲欧美日韩国产一区二区三区 | 亚洲视频999| 美女久久一区| 亚洲欧美日韩久久精品| 欧美日韩国产一区| 久久国产精品第一页| 国产精品国产三级国产a| 亚洲日本视频| 国产一在线精品一区在线观看| 亚洲天堂成人在线视频| 亚洲电影在线播放| 久久精品一区二区国产| 亚洲香蕉在线观看| 欧美日韩一区二区高清| 91久久中文| 狠狠色丁香婷婷综合影院|