国产睡熟迷奷白丝护士系列精品,中文色字幕网站,免费h网站在线观看的,亚洲开心激情在线

      <sup id="hb9fh"></sup>
          1. 千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機構

            手機站
            千鋒教育

            千鋒學習站 | 隨時隨地免費學

            千鋒教育

            掃一掃進入千鋒手機站

            領取全套視頻
            千鋒教育

            關注千鋒學習站小程序
            隨時隨地免費學習課程

            當前位置:首頁  >  技術干貨  > 圖解SQL執(zhí)行順序,通俗易懂!

            圖解SQL執(zhí)行順序,通俗易懂!

            來源:千鋒教育
            發(fā)布人:wjy
            時間: 2023-01-07 11:21:00 1673061660

              圖解 SQL 執(zhí)行順序,通俗易懂!

              這是一條標準的查詢語句:

            圖解 SQL 執(zhí)行順序1

              這是我們實際上SQL執(zhí)行順序:

              ●我們先執(zhí)行from,join來確定表之間的連接關系,得到初步的數(shù)據(jù)

              ●where對數(shù)據(jù)進行普通的初步的篩選

              ●group by 分組

              ●各組分別執(zhí)行having中的普通篩選或者聚合函數(shù)篩選。

              ●然后把再根據(jù)我們要的數(shù)據(jù)進行select,可以是普通字段查詢也可以是獲取聚合函數(shù)的查詢結果,如果是集合函數(shù),select的查詢結果會新增一條字段

              ●將查詢結果去重distinct

              ●最后合并各組的查詢結果,按照order by的條件進行排序

            圖解 SQL 執(zhí)行順序2

              我們在理解SELECT語法的時候,還需要了解SELECT執(zhí)行時的底層原理。只有這樣,才能讓我們對SQL有更深刻的認識。

              其中你需要記住SELECT查詢時的兩個順序:

              1.關鍵字的順序是不能顛倒的:

            圖解 SQL 執(zhí)行順序3

              2.SELECT語句的執(zhí)行順序(在MySQL和Oracle中,SELECT執(zhí)行順序基本相同):

              比如你寫了一個SQL語句,那么它的關鍵字順序和執(zhí)行順序是下面這樣的:

              在SELECT語句執(zhí)行這些步驟的時候,每個步驟都會產(chǎn)生一個虛擬表,然后將這個虛擬表傳入下一個步驟中作為輸入。需要注意的是,這些步驟隱含在SQL的執(zhí)行過程中,對于我們來說是不可見的。

              數(shù)據(jù)的關聯(lián)過程

              數(shù)據(jù)庫中的兩張表

            圖解 SQL 執(zhí)行順序4

              from&join&where

              用于確定我們要查詢的表的范圍,涉及哪些表。

              選擇一張表,然后用join連接

              選擇多張表,用where做關聯(lián)條件

              我們會得到滿足關聯(lián)條件的兩張表的數(shù)據(jù),不加關聯(lián)條件會出現(xiàn)笛卡爾積。

            圖解 SQL 執(zhí)行順序5

              group by

              按照我們的分組條件,將數(shù)據(jù)進行分組,但是不會篩選數(shù)據(jù)。

              比如我們按照即id的奇偶分組

            圖解 SQL 執(zhí)行順序6

              having&where

              having中可以是普通條件的篩選,也能是聚合函數(shù)。而where只能是普通函數(shù),一般情況下,有having可以不寫where,把where的篩選放在having里,SQL語句看上去更絲滑。

              使用where再group by

              先把不滿足where條件的數(shù)據(jù)刪除,再去分組

              使用group by再having

              先分組再刪除不滿足having條件的數(shù)據(jù),這兩種方法有區(qū)別嗎,幾乎沒有!

              舉個例子:

              100/2=50,此時我們把100拆分(10+10+10+10+10…)/2=5+5+5+…+5=50,只要篩選條件沒變,即便是分組了也得滿足篩選條件,所以where后group by 和group by再having是不影響結果的!

              不同的是,having語法支持聚合函數(shù),其實having的意思就是針對每組的條件進行篩選。我們之前看到了普通的篩選條件是不影響的,但是having還支持聚合函數(shù),這是where無法實現(xiàn)的。

              當前數(shù)據(jù)分組情況

            圖解 SQL 執(zhí)行順序7

              執(zhí)行having的篩選條件,可以使用聚合函數(shù)。篩選掉工資小于各組平均工資的having salary

            圖解 SQL 執(zhí)行順序8

              select

              分組結束之后,我們再執(zhí)行select語句,因為聚合函數(shù)是依賴于分組的,聚合函數(shù)會單獨新增一個查詢出來的字段,這里用紫色表示,這里我們兩個id重復了,我們就保留一個id,重復字段名需要指向來自哪張表,否則會出現(xiàn)唯一性問題。最后按照用戶名去重。

            圖解 SQL 執(zhí)行順序9

              將各組having之后的數(shù)據(jù)再合并數(shù)據(jù)。

            圖解 SQL 執(zhí)行順序10

              order by

              最后我們執(zhí)行order by 將數(shù)據(jù)按照一定順序排序,比如這里按照id排序。如果此時有l(wèi)imit那么查詢到相應的我們需要的記錄數(shù)時,就不繼續(xù)往下查了。

            圖解 SQL 執(zhí)行順序11

              limit

              記住limit是最后查詢的,為什么呢?假如我們要查詢年級最小的三個數(shù)據(jù),如果在排序之前就截取到3個數(shù)據(jù)。實際上查詢出來的不是最小的三個數(shù)據(jù)而是前三個數(shù)據(jù)了,記住這一點。

              我們?nèi)绻鹟imit 0,3竊取前三個數(shù)據(jù)再排序,實際上最少工資的是2000,3000,4000。你這里只能是4000,5000,8000了。

            圖解 SQL 執(zhí)行順序12

            tags:
            聲明:本站稿件版權均屬千鋒教育所有,未經(jīng)許可不得擅自轉載。
            10年以上業(yè)內(nèi)強師集結,手把手帶你蛻變精英
            請您保持通訊暢通,專屬學習老師24小時內(nèi)將與您1V1溝通
            免費領取
            今日已有369人領取成功
            劉同學 138****2860 剛剛成功領取
            王同學 131****2015 剛剛成功領取
            張同學 133****4652 剛剛成功領取
            李同學 135****8607 剛剛成功領取
            楊同學 132****5667 剛剛成功領取
            岳同學 134****6652 剛剛成功領取
            梁同學 157****2950 剛剛成功領取
            劉同學 189****1015 剛剛成功領取
            張同學 155****4678 剛剛成功領取
            鄒同學 139****2907 剛剛成功領取
            董同學 138****2867 剛剛成功領取
            周同學 136****3602 剛剛成功領取
            相關推薦HOT
            適合三農(nóng)領域的名字?有何技巧?

            現(xiàn)在在抖音上很多博主會選擇直播來賺取更多的流量以及利潤,直播間的東西也有很多讓消費者信任并且喜歡的,而且隨著越來越多人直播,很多農(nóng)產(chǎn)品...詳情>>

            2023-09-19 07:06:05
            抖店商品發(fā)布違規(guī)怎么申訴?有何規(guī)則?

            抖店服務市場服務商發(fā)布違禁信息如何處理?情節(jié)嚴重程度判定原則:違規(guī)嚴重等級主要通過服務商違規(guī)次數(shù)、造成后果的嚴重程度、獲利或導致?lián)p失的...詳情>>

            2023-09-19 06:59:55
            “泛垂直起號”可能是2023年最高效的起號方式

            這可能是明年最好用的旗號方式了,今天教大家一個很野,但是可以讓你三天漲1000粉的偏方。去年前年啊,每個人都教你,誰知七號對著自己的產(chǎn)品拍...詳情>>

            2023-09-19 06:37:38
            做直播怎么賣自己的貨怎么上鏈接?能賺錢嗎?

            直播賣貨是時下非?;鸬囊粋€行業(yè),我們的產(chǎn)品可以放到網(wǎng)上賣,也可以在網(wǎng)上做直播?,F(xiàn)在的直播平臺也是很多的,基本不愁沒有銷路。如果想要賣自...詳情>>

            2023-09-19 06:28:26
            比較適合新手的3個不用出境的領域

            隨著短視頻行業(yè)盛勢發(fā)展,越來越多的年輕人也想要投入這行,但又苦于不想出鏡。抖音短視頻 for Android V24.8.0 安卓手機版類型:影音播放大小...詳情>>

            2023-09-19 06:06:39
            開班信息
            北京校區(qū)
            • 北京校區(qū)
            • 大連校區(qū)
            • 廣州校區(qū)
            • 成都校區(qū)
            • 杭州校區(qū)
            • 長沙校區(qū)
            • 合肥校區(qū)
            • 南京校區(qū)
            • 上海校區(qū)
            • 深圳校區(qū)
            • 武漢校區(qū)
            • 鄭州校區(qū)
            • 西安校區(qū)
            • 青島校區(qū)
            • 重慶校區(qū)
            • 太原校區(qū)
            • 沈陽校區(qū)
            • 南昌校區(qū)
            • 哈爾濱校區(qū)