精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

第16期:SQL像英語是個(gè)善意的錯(cuò)誤

企業(yè)動態(tài)
我們知道,SQL長得很像英語,簡單的SQL語句直接可以作為英語讀。而SQL不同,它會把整個(gè)句子寫成符合英語習(xí)慣的形式,還會補(bǔ)充很多不必要的介詞,比如FROM作為語句的運(yùn)算主體卻被寫到后面,GROUP后面要寫一個(gè)多余的BY。為什么會這樣呢?

第16期:SQL像英語是個(gè)善意的錯(cuò)誤

我們知道,SQL長得很像英語,簡單的SQL語句直接可以作為英語讀。除了SQL外,其它主要程序設(shè)計(jì)語言都沒有這樣,語法中就算有英語單詞也僅僅是作為某些概念或操作的助記符而已,寫出來的是形式化的程序語句(statement)而不是英語句子(sentence)。而SQL不同,它會把整個(gè)句子寫成符合英語習(xí)慣的形式,還會補(bǔ)充很多不必要的介詞,比如FROM作為語句的運(yùn)算主體卻被寫到后面,GROUP后面要寫一個(gè)多余的BY。

為什么會這樣?很容易想到的理由是希望非程序設(shè)計(jì)人員也能使用。用戶只要會讀寫英語,就可以寫出SQL來查詢數(shù)據(jù)。這顯然是個(gè)善意的初衷,但結(jié)果卻不盡如人意。絕大多數(shù)業(yè)務(wù)人員只會用SQL寫非常簡單的查詢,而對于這類查詢,應(yīng)用程序常常都有更為便捷直觀的可視化界面來協(xié)助,并不需要直接手寫語句,這個(gè)設(shè)計(jì)初衷就失去意義。反過來, 經(jīng)常使用SQL做運(yùn)算的仍然是程序員,SQL還是一種編程語言,像不像英語對于程序員理解并沒有多大差別,反而會帶來不小的困難。

事實(shí)上,SQL是一種語法非常嚴(yán)格的語言,語句中任何一點(diǎn)不合規(guī)的地方就會被解釋器拒絕,使用者必須認(rèn)真學(xué)習(xí)并遵守其語法規(guī)則,這和其它程序設(shè)計(jì)語言并沒什么兩樣。而自然語言真正的優(yōu)勢在于具有模糊性,可以一定程度接受不嚴(yán)格的語法,但SQL并沒有支持這一點(diǎn),在發(fā)明SQL那個(gè)年代也實(shí)現(xiàn)不了這個(gè)特性。

像英語的好處沒有體現(xiàn),壞處卻很嚴(yán)重,將語法設(shè)計(jì)得像自然語言,看起來容易掌握,其實(shí)恰恰相反。

貼近自然語言帶來的主要壞處是非過程性。程序邏輯一般是分步執(zhí)行的,用變量記錄中間結(jié)果,供后面的步驟使用。但自然語言不是這樣,兩句話之間的引用關(guān)系靠少量幾個(gè)代詞維系,不夠用且不精確,所以更習(xí)慣的做法是把盡量多的任務(wù)寫在一句話中,復(fù)雜情況下就會大量使用從句。在SQL中的表現(xiàn)就是一句話中配有多個(gè)動作,SELECT、WHERE、GROUP都拼進(jìn)去,像WHERE和HAVING其實(shí)是一個(gè)意思,卻要采用兩個(gè)詞以示區(qū)別,而查詢需求復(fù)雜時(shí)就會出現(xiàn)多層嵌套的子查詢。這種現(xiàn)象在其它程序設(shè)計(jì)語中是不常見的。

分步是降低理解和執(zhí)行難度的有效法門,本來挺簡單分幾步能做到的事情,如果不分步就會很繞。比如要找出銷售額超過平均值兩倍的客戶,自然思維方式就是先算出銷售額的平均值,再找出銷售額超這個(gè)值兩倍的客戶,兩個(gè)語句完成。而SQL的寫法就需要用子查詢寫成更長的一句。這個(gè)例子還算好懂,只有兩層,一般自然語言的從句用來描述兩層關(guān)系的理解難度還可以接受,但實(shí)際復(fù)雜的查詢涉及到三五層的比比皆是,嚴(yán)重增加理解難度。

不提倡分步,就會導(dǎo)致單句SQL很長。程序員面臨的復(fù)雜SQL語句,很少以行計(jì),經(jīng)常是以K計(jì)。而同樣的100行代碼,分成100個(gè)語句還是只有1個(gè)語句,其復(fù)雜度完全不是一個(gè)層面的。這種代碼理解起來非常困難,好不容易寫出來,過兩個(gè)月后自己都讀不懂,而且太長不分步的單句非常難以調(diào)試,開發(fā)周期也更長。

關(guān)于過程性,SQL的擁躉者一直有一個(gè)說法:寫SQL時(shí)用戶只要關(guān)心要什么,而不必關(guān)心怎么做,計(jì)算機(jī)會自動找解決方案,這樣語法本身不需要支持過程性。

這其實(shí)是個(gè)胡扯!

任何程序語言在某種層次上都具有這個(gè)能力,寫匯編語言需要關(guān)心寄存器和內(nèi)存的動作,但不必關(guān)心更下層的與非門的動作。SQL中不必關(guān)心數(shù)據(jù)在物理存儲層面(文件系統(tǒng)、內(nèi)存和硬盤)的動作,但仍然要關(guān)心邏輯層面(表和字段)的運(yùn)算。SQL語句事實(shí)上也在描述運(yùn)算邏輯,特別是多層嵌套關(guān)聯(lián)的復(fù)雜SQL,在描述問題目標(biāo)的同時(shí),實(shí)際上也指明了執(zhí)行過程,或者倒過來說,在SQL中也只能用指明執(zhí)行過程的方法來描述問題目標(biāo),只不過相對比較高層次一些而已。

不過,SQL只是不提倡分步計(jì)算,而并非完全不支持過程性。使用存儲過程就相當(dāng)于分步執(zhí)行SQL,使用外部程序調(diào)用SQL也可以實(shí)現(xiàn)過程性,如果不考慮臨時(shí)表(用于存儲中間結(jié)果)和數(shù)據(jù)庫IO(外部語言調(diào)用SQL時(shí)要獲得運(yùn)算結(jié)果)的低性能,這些方法在功能上并沒什么缺失。但要考慮到數(shù)據(jù)量導(dǎo)致的性能問題時(shí),還是經(jīng)常需要編寫長SQL才能解決問題。在數(shù)據(jù)量較小、性能問題不突出時(shí),可以用這些方法來補(bǔ)充SQL的過程性。

責(zé)任編輯:趙寧寧 來源: 51CTO專欄
相關(guān)推薦

2017-05-22 22:23:29

索引本質(zhì)排序

2017-08-02 17:00:51

SQL關(guān)系代數(shù)數(shù)據(jù)

2011-09-19 16:47:48

大話ITIT聽聽看公有云

2018-03-14 07:47:41

大數(shù)據(jù)語法SQL

2012-01-17 09:47:46

Linux運(yùn)維趨勢CDN緩存

2013-01-10 09:54:35

JavaScriptJava

2016-04-18 19:30:38

2017-08-16 15:31:31

SQL語法集合化

2025-10-21 08:14:07

代碼變量重命名

2017-08-22 21:55:18

SQL語法離散性

2017-08-09 16:13:48

SQL大數(shù)據(jù)語法

2020-07-01 07:38:38

SQL數(shù)據(jù)庫程序員

2017-10-23 10:16:17

技術(shù)沙龍Tech NeoCDN

2021-07-27 12:29:11

谷歌SQL漏洞

2011-11-14 16:41:32

51CTO技術(shù)沙龍Exchange遷移

2017-05-25 08:56:22

硬盤性能特征

2018-02-06 23:30:07

文件存儲數(shù)據(jù)

2018-08-16 15:00:38

編程語言PHP錯(cuò)誤機(jī)制

2025-11-03 08:14:06

2017-07-26 09:56:53

軟件升級Petya勒索病毒大數(shù)據(jù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

欧亚乱熟女一区二区在线| 婷婷久久青草热一区二区 | 色在线免费视频| 日韩成人一区二区| 久久精品欧美视频| 日本免费福利视频| 亚洲色图图片| 欧美日韩性视频| 一级全黄肉体裸体全过程| 天天操天天舔天天干| 捆绑变态av一区二区三区| 九九久久久久99精品| caopeng视频| 国产成人高清精品免费5388| 欧美男女性生活在线直播观看| 国产精品12345| 成人在线视频亚洲| 久久久亚洲高清| 都市激情久久久久久久久久久| 天天射天天干天天| 亚洲区欧美区| 久久69精品久久久久久久电影好| 亚洲av无码国产精品麻豆天美| 成人免费直播在线| 在线不卡a资源高清| 黄www在线观看| 大黄网站在线观看| 亚洲天堂2014| 日本一区二区三区视频在线播放| 欧美一区,二区| 国产成人自拍高清视频在线免费播放| 成人精品一区二区三区电影黑人| chinese国产精品| 国产一区二区精品| 九九九热精品免费视频观看网站| 亚洲 欧美 国产 另类| 欧美日韩播放| 日韩电视剧在线观看免费网站 | 久久综合狠狠综合| 97人人模人人爽人人少妇| 亚洲天堂狠狠干| 日本不卡123| 国产精品美女主播| 免费观看日批视频| 午夜在线一区| 热re91久久精品国99热蜜臀| 日本中文字幕在线| 国产免费成人| 欧美伊久线香蕉线新在线| 日本天堂网在线观看| 极品日韩av| 国模视频一区二区三区| 亚洲国产精品午夜在线观看| 亚洲一级黄色| 97激碰免费视频| 天堂网av手机版| 久久国产99| 国产精品福利久久久| 性高潮视频在线观看| 奇米四色…亚洲| 国产自摸综合网| 国产免费视频一区二区三区| 国产中文字幕精品| 97超碰资源| 超碰在线观看99| 99久久综合99久久综合网站| 久久久久久久免费| 精品无吗乱吗av国产爱色| 国产欧美精品一区二区三区四区| 亚洲精品免费在线看| 免费a在线看| 亚洲国产美国国产综合一区二区| 青青草视频在线免费播放 | 欧美午夜片欧美片在线观看| 日本xxxxxxx免费视频| 四虎4545www国产精品| 欧美日韩国产综合视频在线观看| 四虎1515hh.com| 超碰成人在线观看| 亚洲美腿欧美激情另类| 欧美xxxx精品| 黄色亚洲免费| 日本久久亚洲电影| 11024精品一区二区三区日韩| 国产精品99久| 欧美福利一区二区三区| 天天影视久久综合| 亚洲国产中文字幕| 欧美xxxxx在线视频| 动漫一区二区三区| 亚洲精品wwwww| 免费一级suv好看的国产网站| 欧美激情五月| 国产97色在线|日韩| 国产手机视频在线| 91丨porny丨国产| 国产精品美女在线播放| 永久免费毛片在线播放| 欧美一卡二卡在线| 精品成人无码一区二区三区| 激情成人亚洲| 成人国产亚洲精品a区天堂华泰| 婷婷久久久久久| 国产精品久99| 六月激情综合网| 国产午夜亚洲精品一级在线| 亚洲色图50p| 国产一级理论片| 开心九九激情九九欧美日韩精美视频电影 | 国产欧美精品在线观看| 成人一区二区免费视频| 亚洲日韩中文字幕一区| 亚洲午夜久久久影院| 久久久久无码国产精品| 蜜桃视频在线一区| 裸模一区二区三区免费| 久草免费在线色站| 4438x成人网最大色成网站| 日本aaa视频| 99成人在线| av成人观看| 久草资源在线观看| 91福利小视频| 欧美激情aaa| 亚洲麻豆视频| 国产精品免费一区二区三区在线观看 | 色乱码一区二区三区网站| 欧美一级高清免费| 国产综合视频在线| 亚洲男人的天堂一区二区| 天天爽夜夜爽一区二区三区 | 黄色www在线观看| 天堂久久午夜av| 亚洲人成电影网| 毛片视频网站在线观看| kk眼镜猥琐国模调教系列一区二区| 小泽玛利亚av在线| 国产精品高清一区二区| 精品国内自产拍在线观看| 亚洲 小说区 图片区| 久久免费看少妇高潮| 成人在线免费在线观看| 中文字幕中文字幕精品| 欧洲成人免费视频| 欧洲天堂在线观看| 色综合久久综合网97色综合| 亚洲精品乱码久久久久久久久久久久| 先锋影音久久| 欧美视频小说| 欧美色999| 中文日韩在线观看| 中文字幕乱码中文字幕| 国产精品久久一级| 色综合五月婷婷| 中文字幕免费一区二区三区| 999热视频在线观看| 久久av色综合| 亚洲精品国产成人| 青青视频在线免费观看| 国产精品久久久久久久蜜臀| 亚洲精品www.| 午夜精彩国产免费不卡不顿大片| 翡翠波斯猫1977年美国| 三妻四妾的电影电视剧在线观看| 亚洲欧美一区二区激情| 伊人免费在线观看高清版| 亚洲图片欧美激情| 91porn在线| 亚洲影视综合| 日韩高清国产一区在线观看| 欧美成人福利| 欧美区二区三区| 日色在线视频| 欧美日韩高清一区| 国产一级做a爰片在线看免费| 91性感美女视频| 亚洲一级片免费| 午夜日韩福利| 日本高清不卡三区| 高清一区二区| 91av中文字幕| 蜜芽在线免费观看| 亚洲第一区中文99精品| 小泽玛利亚一区二区三区视频| 亚洲免费电影在线| 中文字幕在线观看的网站| 麻豆国产91在线播放| 黄色国产一级视频| 久久精品国产大片免费观看| 国内视频一区二区| 久久青草免费| 欧美性在线视频| 黄色片免费在线观看| 日韩二区三区在线| 91精品国产乱码久久久| 精品欧美激情精品一区| 久久人妻无码aⅴ毛片a片app| 91在线porny国产在线看| 免费av不卡在线| 国产欧美日本| 热久久最新网址| 四季av在线一区二区三区| 精品国产日本| 久久久久亚洲精品中文字幕| 国产精品7m视频| av在线中出| 欧美大胆在线视频| 爱久久·www| 日韩大片在线观看视频| 午夜久久久久久久久久| 欧美日韩三级在线| 男人午夜免费视频| 亚洲网友自拍偷拍| 免费成人深夜夜行网站| 久久精品在线观看| 在线看黄色的网站| 国产在线精品一区二区| 国产理论在线播放| 香蕉久久国产| 国产黄色片免费在线观看| 亚洲精彩视频| 在线一区日本视频| av在线不卡顿| 免费精品视频一区| 国产精品45p| 国产成人精品日本亚洲11 | 在线免费观看亚洲视频| 中文字幕乱码久久午夜不卡 | 亚洲成人一区二区| 亚洲色婷婷一区二区三区| 中文字幕一区二区三区乱码在线| 人妻一区二区视频| 国产婷婷精品av在线| 日韩一级视频在线观看| 91尤物视频在线观看| 亚洲久久久久久| av亚洲精华国产精华精| 亚洲少妇18p| av一区二区三区四区| fc2成人免费视频| 不卡影院免费观看| 亚洲久久久久久| 久久蜜桃av一区精品变态类天堂| 亚洲熟妇无码av| 久久久99免费| 国产91丝袜美女在线播放| 精品中文字幕久久久久久| 亚洲国产精品免费在线观看| 最近日韩中文字幕| 欧洲性xxxx| 中文久久乱码一区二区| 18精品爽国产三级网站| 国产精品国产三级国产三级人妇| 中文天堂资源在线| 国产精品久久毛片| 免费精品在线视频| 亚洲另类春色国产| av资源吧首页| 欧美视频在线观看免费| 日本中文字幕久久| 欧美亚洲一区二区在线观看| 亚洲午夜精品久久久| 91精品国产综合久久精品app | 亚洲免费一在线| 免费国产在线观看| 综合欧美国产视频二区| 国产福利视频在线观看| 欧美极品在线播放| 手机在线理论片| 国产精品一区二区3区| 久久av网站| 精品午夜一区二区| 日韩av久操| 精品无码av无码免费专区| 亚洲成人原创| 男女啪啪网站视频| 国产一区二区三区在线观看免费视频 | 国产精品一区二区三区www| 91在线播放视频| 九热爱视频精品视频| 裸体裸乳免费看| 国产欧美短视频| 亚洲a级黄色片| 播五月开心婷婷综合| 2019男人天堂| 亚洲国产婷婷综合在线精品| 高潮毛片又色又爽免费| 欧美一区二区三区爱爱| 天堂a中文在线| 久久久精品视频在线观看| 极品视频在线| 成人网址在线观看| 日韩av字幕| 影音先锋男人的网站| 国产日韩欧美三区| 性欧美在线视频| 久久只精品国产| 强行糟蹋人妻hd中文| 欧洲精品视频在线观看| 欧美特黄一级视频| zzijzzij亚洲日本成熟少妇| 中文字幕在线免费观看视频| 91亚洲精品一区二区| 国产亚洲电影| 九九爱精品视频| 国产精品一区二区无线| 国产破处视频在线观看| 欧美视频二区36p| 黄频网站在线观看| 久久精品免费电影| 四虎4545www精品视频| 国产三级精品在线不卡| 欧美aⅴ99久久黑人专区| 69久久久久久| 欧美国产日韩a欧美在线观看| 国产 欧美 日韩 在线| 5566中文字幕一区二区电影| 国产精品久久久久一区二区国产 | 中日韩在线观看视频| 亚洲风情亚aⅴ在线发布| 综合久久2019| 91九色国产视频| 色综合蜜月久久综合网| www.xxx亚洲| 久久久久久麻豆| 亚洲日本视频在线观看| 亚洲国产精品嫩草影院久久| 色yeye免费人成网站在线观看| 91免费高清视频| 五月天久久777| 成 人 黄 色 小说网站 s色| 中文无字幕一区二区三区| 久久久精品毛片| 国产亚洲精品久久久| japanese23hdxxxx日韩 | 亚洲成av人片乱码色午夜| 中国黄色片免费看| 国产日韩精品一区二区浪潮av| 亚洲欧美偷拍一区| 日韩精品电影网| 中国色在线日|韩| 久久久人人爽| 香蕉国产精品偷在线观看不卡| 在线免费观看日韩av| 日韩欧美精品在线观看| 黄色av免费在线观看| 国产精品日韩在线一区| 色综合五月天| 五月天婷婷在线观看视频| 亚洲女厕所小便bbb| 超碰在线观看av| 97视频在线观看视频免费视频| 影视先锋久久| 日韩av片网站| 亚洲色图制服诱惑| 国产成年妇视频| 97精品欧美一区二区三区| 婷婷综合电影| 国产又黄又猛又粗又爽的视频| 国产精品久久福利| 国产成人精品av在线观| 国语自产偷拍精品视频偷| 亚洲区小说区| 手机在线成人免费视频| 亚洲欧美另类久久久精品| 亚洲奶汁xxxx哺乳期| 欧美一级视频一区二区| 欧美日韩有码| 中文字幕欧美视频| 亚洲不卡av一区二区三区| 久久久久久久久亚洲精品| 国产精品久久久久久久久久免费| 国产韩国精品一区二区三区| 精品人妻人人做人人爽夜夜爽| 黑人巨大精品欧美一区二区| 日本综合在线| 国产精品久久久对白| 视频一区在线视频| 日本中文在线视频| 亚洲国产精品资源| 主播大秀视频在线观看一区二区| 中国一级黄色录像| 99久久久无码国产精品| 亚洲一区二区激情| 国a精品视频大全| 欧美日韩第一| 亚洲免费观看在线| 在线视频中文字幕一区二区| caoporm免费视频在线| 免费在线国产精品| 国产一区二区三区香蕉| 久久久久久91亚洲精品中文字幕| 久久精品视频在线观看| 欧美综合自拍| 性鲍视频在线观看| 91福利在线看| 精精国产xxxx视频在线播放| 一区二区三区四区久久| 久久美女高清视频| 国 产 黄 色 大 片|