主頁 > 知識庫 > SQL執(zhí)行步驟的具體分析

SQL執(zhí)行步驟的具體分析

熱門標簽:電銷機器人價格多少錢一臺 怎么申請400電話申請 電話機器人免費嗎 怎么辦理400電話呢 400電話申請什么好 百度地圖標注地方備注 地圖標注圖標素材入駐 好搜地圖標注 龍圖酒吧地圖標注

SQL執(zhí)行步驟的具體分析

先來看執(zhí)行語句的順序

(8)select (9)distinct A (1)from Ta (3)join Tb 
(2)on XXX (4)where XXX (5)group by XXX (6)with 
{cube|roll up} (7)having XXX (10)order by XXX (11)limit XXX 

 接著我們看一下具體分析查詢處理的各個階段:

  1. FROM  對from子句中的左表和右表執(zhí)行笛卡爾集,產生虛擬表VT1
  2. ON  對虛擬表VT1進行on篩選,只有那些符合join condition的行才被插入虛擬表VT2中
  3. JOIN  如果指定了outer join,那么保留表中未匹配的行作為外部行添加到虛擬表VT2中,產生虛擬表VT3。如果from子句包含兩個以上的表,則對上一個連接生成的結果表中VT3和下一個表重復執(zhí)行步驟1~步驟3,直到處理完所有的表為止。
  4. WHERE  對虛擬表VT3進行where過濾條件,只有符合條件的才被插入到虛擬表VT4中。
  5. GROUP BY  根據group by子句中的列,對VT4中的記錄進行分組操作,產生VT5.
  6. CUBE|ROLL UP  對表VT5進行CUBE或者ROLLUP操作,產生表VT6.
  7. HAVING  對虛擬表VT6應用having過濾器,只有符合條件的記錄才會被插入到虛擬表VT7中
  8. SELECT  第二次執(zhí)行select操作,選擇指定的列,插入到虛擬表VT8中。
  9. DISTINCT  去除重復數據,產生虛擬表VT9。
  10. ORDER BY  將虛擬表VT9中的記錄按照指定的要求進行排序操作,產生虛擬表VT10
  11. LIMIT  取出指定行的記錄,產生虛擬表VT11,并返回給查詢用戶

如有疑問請留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

您可能感興趣的文章:
  • PHP實現(xiàn)mysqli批量執(zhí)行多條語句的方法示例
  • 用非動態(tài)SQL Server SQL語句來對動態(tài)查詢進行執(zhí)行
  • SQL SERVER 中構建執(zhí)行動態(tài)SQL語句的方法
  • mybatis 插件: 打印 sql 及其執(zhí)行時間實現(xiàn)方法
  • Mysql使用kill命令解決死鎖問題(殺死某條正在執(zhí)行的sql語句)
  • Mysql 服務 1067 錯誤 的解決方法:修改mysql可執(zhí)行文件路徑
  • MySql批量插入優(yōu)化Sql執(zhí)行效率實例詳解
  • oracle查看執(zhí)行最慢與查詢次數最多的sql語句

標簽:撫順 廣西 內江 汕尾 浙江 防疫工作 溫州 固原

巨人網絡通訊聲明:本文標題《SQL執(zhí)行步驟的具體分析》,本文關鍵詞  SQL,執(zhí)行,步驟,的,具體,分析,;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《SQL執(zhí)行步驟的具體分析》相關的同類信息!
  • 本頁收集關于SQL執(zhí)行步驟的具體分析的相關信息資訊供網民參考!
  • 企业400电话

    智能AI客服机器人
    15000

    在线订购

    合计11份范本:公司章程+合伙协议+出资协议+合作协议+股权转让协议+增资扩股协议+股权激励+股东会决议+董事会决议

    推薦文章