亚洲国产日韩人妖另类,久久只有这里有精品热久久,依依成人精品视频在线观看,免费国产午夜视频在线

      
      

        一文講懂SQL語法順序與執(zhí)行順序

        大家好,我是寧一。

        今天講解SQL教程第17課:SQL語句書寫順序與執(zhí)行順序。

        SQL 語句的書寫順序與執(zhí)行順序不是一致的,我們通過這節(jié)課來搞清楚。

        1、書寫順序

        語句書寫順序很重要,順序不對會報錯的。

        我們前面的課程已經(jīng)學過SELECT、WHERE、ORDER BY、LIMIT、JOIN、UNION、GROUP BY、HAVING語句用法。

        如果這些語句在SQL中同時存在,書寫順序是這樣的:

        SELECT FROM JOIN ON WHERE GROUP BY HAVING UNIONORDER BY LIMIT ;

        看著比較復雜,不過我們不需要特意去背,多進行一些實戰(zhàn)練習,自然而然就記住了。

        2、執(zhí)行順序

        1.FORM:選擇from后面跟的表,產(chǎn)生虛擬表1。

        2.ON:ON是JOIN的連接條件,符合連接條件的行會被記錄在虛擬表2中。

        3.JOIN:如果指定了LEFT JOIN,那么保留表中未匹配的行就會作為外部行添加到虛擬表2中,產(chǎn)生虛擬表3。如果有多個JOIN鏈接,會重復執(zhí)行步驟1~3,直到處理完所有表。

        4.WHERE:對虛擬表3進行WHERE條件過濾,符合條件的記錄會被插入到虛擬表4中。

        5.GROUP BY:根據(jù)GROUP BY子句中的列,對虛擬表2中的記錄進行分組操作,產(chǎn)生虛擬表5。

        6.HAVING:對虛擬表5進行HAVING過濾,符合條件的記錄會被插入到虛擬表6中。

        7.SELECT:SELECT到一步才執(zhí)行,選擇指定的列,插入到虛擬表7中。

        8.UNION:UNION連接的兩個SELECT查詢語句,會重復執(zhí)行步驟1~7,產(chǎn)生兩個虛擬表7,UNION會將這些記錄合并到虛擬表8中。

        9.ORDER BY: 將虛擬表8中的記錄進行排序,虛擬表9。

        10.LIMIT:取出指定行的記錄,返回結(jié)果集。

        3、總結(jié):

        書寫順序:SELECT -> FROM -> JOIN -> ON -> WHERE -> GROUP BY -> HAVING -> UNION -> ORDER BY ->LIMIT

        執(zhí)行順序:FROM -> ON -> JOIN -> WHERE -> GROUP BY -> HAVING -> SELECT -> UNION -> ORDER BY ->LIMIT

        4、需要注意的地方:

        1.SELECT語句總是寫在最前面,但在大部分語句之后才執(zhí)行。所以在SQL語句中,我們不能在WHERE、GROUP BY、 HAVING語句中使用在 SELECT 中設定的別名。

        但是MYSQL有個特性,在GROUP BY、 HAVING語句中,可以使用 SELECT 中設定的別名。這不是因為MYSQL中會提前執(zhí)行SELECT,而是因為在GROUP BY這一步返回了游標,大家了解一下就好。

        2.無論是書寫順序,還是執(zhí)行順序,UNION 都是排在 ORDER BY 前面的。SQL語句會將所有UNION 段合并后,再進行排序。

        我們本節(jié)課程總結(jié)了sql語句的書寫順序和執(zhí)行順序,理解這些有助于我們對sql語句進行優(yōu)化,提高我們的數(shù)據(jù)庫理解能力。建立我們后面編寫復雜SQL的基礎。

        如果能掌握SQL語句書寫順序和執(zhí)行順序,那么恭喜你,已經(jīng)可以解決大部分的SQL問題了。

        下節(jié)課我們會開始講子查詢,理解了這節(jié)課的內(nèi)容,后面編寫更復雜的SQL也就得心應手了~

        點擊關注,更新課程第一時間通知哦~

        鄭重聲明:本文內(nèi)容及圖片均整理自互聯(lián)網(wǎng),不代表本站立場,版權(quán)歸原作者所有,如有侵權(quán)請聯(lián)系管理員(admin#wlmqw.com)刪除。
        上一篇 2022年6月22日 12:15
        下一篇 2022年6月22日 12:15

        相關推薦

        聯(lián)系我們

        聯(lián)系郵箱:admin#wlmqw.com
        工作時間:周一至周五,10:30-18:30,節(jié)假日休息