顾美玲勾引管家|日韩黄色成人|国产精品theporn动漫|欧美日日日|国产精品探花在线

專業只做數據庫實訓和認證的品牌機構

微信公眾號新浪微博
免費咨詢電話:400-0909-964
當前位置: 網站首頁 > DBA實戰 > DBA課程 > SQL Select語句完整的執行順序

SQL Select語句完整的執行順序

文章來源: 更新時間:2020/3/19 16:51:59

在線老師點擊咨詢:

最新學訊:近期OCP認證正在報名中,因考試人員較多請盡快報名獲取最近考試時間,報名費用請聯系在線老師,甲骨文官方認證,報名從速!

我要咨詢

SQL Select語句完整的執行順序:

1、from子句組裝來自不同數據源的數據;

2、where子句基于指定的條件對記錄行進行篩選;

3、group by子句將數據劃分為多個分組;

4、使用聚集函數進行計算;

5、使用having子句篩選分組;

6、計算所有的表達式;

7、select 的字段;

8、使用order by對結果集進行排序。

SQL語言不同于其他編程語言的最明顯特征是處理代碼的順序。在大多數據庫語言中,代碼按編碼順序被處理。但在SQL語句中,第一個被處理的子句式FROM,而不是第一出現的SELECT。SQL查詢處理的步驟序號:

(1) FROM

(3) JOIN

(2) ON

(4) WHERE

(5) GROUP BY

(6) WITH {CUBE | ROLLUP}

(7) HAVING

(8) SELECT

(9) DISTINCT

(9) ORDER BY

(10)

以上每個步驟都會產生一個虛擬表,該虛擬表被用作下一個步驟的輸入。這些虛擬表對調用者(客戶端應用程序或者外部查詢)不可用。只有最后一步生成的表才會會給調用者。如果沒有在查詢中指定某一個子句,將跳過相應的步驟。

邏輯查詢處理階段簡介:

1、 FROM:對FROM子句中的前兩個表執行笛卡爾積(交叉聯接),生成虛擬表VT1。

2、 ON:對VT1應用ON篩選器,只有那些使為真才被插入到TV2。

3、 OUTER (JOIN):如果指定了OUTER JOIN(相對于CROSS JOIN或INNER JOIN),保留表中未找到匹配的行將作為外部行添加到VT2,生成TV3。如果FROM子句包含兩個以上的表,則對上一個聯接生成的結果表和下一個表重復執行步驟1到步驟3,直到處理完所有的表位置。

4、 WHERE:對TV3應用WHERE篩選器,只有使為true的行才插入TV4。

5、 GROUP BY:按GROUP BY子句中的列列表對TV4中的行進行分組,生成TV5。

6、 CUTE|ROLLUP:把超組插入VT5,生成VT6。

7、 HAVING:對VT6應用HAVING篩選器,只有使為true的組插入到VT7。

8、 SELECT:處理SELECT列表,產生VT8。

9、 DISTINCT:將重復的行從VT8中刪除,產品VT9。

10、ORDER BY:將VT9中的行按ORDER BY子句中的列列表順序,生成一個游標(VC10)。

11、TOP:從VC10的開始處選擇指定數量或比例的行,生成表TV11,并返回給調用者。

where子句中的條件書寫順序

本文地址:http://www.mudan321.com/dba/kecheng/24085752253.html 轉載請注明!


PostgreSQL入門到精通 100+ 個學習資料

Oracle培訓機構

金牌講師<>

冉乃綱-老師CUUG金牌講師
冉老師 CUUG金牌講師 Oracle及RedHat高級講師、Unix/Linux 資深專家...[詳細了解老師]

免費咨詢上課流程 客服在線中

陳衛星-老師CUUG金牌講師
陳老師 CUUG金牌講師 精通Oracle管理、備份恢復、性能優化 11年Ora...[詳細了解老師]

免費咨詢上課流程 客服在線中

選學校如何選擇適合自己的學校

CUUG -CHINA UNIX USER GROUP,是國際UNIX組織UNIFORUM的中國代表,是國內悠久的專業UNIX培訓機構,被譽為中國UNIX 的搖籃。多年來,以提高教學質量為本,強調素質教育,積極引進、消化國外的新技術,有效的結合中國....[詳情]

一站式服務(從入學到就業一幫到底)

入學

學習

就業

實操

食宿
地址:北京市海淀區田村山南路35號院17號樓
課程咨詢: 400-0909-964
企業服務:137 1818 8639(陳經理)
部分信息來源于網絡,如有錯誤請聯系指正!
版權所有@北京神腦資訊技術有限公司 (CUUG,中國UNIX用戶協會) Copyright 2016 ALL Rights Reserved 京ICP備11008061號-1