日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

SQL查詢語句執(zhí)行順序

 L羅樂 2019-08-03

SQL查詢語句是非常頻繁使用的語句,所以我們有必要理解一下它的執(zhí)行順序。剛接觸SQL的朋友可以先大概了解下,以后慢慢對SQL理解后再往回看一下就容易明白。

查詢邏輯執(zhí)行順序

(8)SELECT (9)DISTINCT (11)<Top Num><select list>

(1)FROM [left_table]

(3)<join_type> JOIN <right_table>
(
2)ON <join_condition>
(
4)WHERE <where_condition>
(
5)GROUP BY <group_by_list>
(
6)WITH <CUBE | RollUP>
(
7)HAVING <having_condition>
(
10)ORDER BY <order_by_list>

執(zhí)行順序解析

1. FROM對FROM子句中前兩個(gè)表執(zhí)行笛卡爾積生成虛擬表vt1

2. ON: 對vt1表應(yīng)用ON篩選器只有滿足 join_condition 為真的行才被插入vt2
3. OUTER(join)如果指定了 OUTER JOIN保留表(preserved table)中未找到的行將行作為外部行添加到vt2,生成t3,如果from包含兩個(gè)以上表,則對上一個(gè)聯(lián)結(jié)生成的結(jié)果表和下一個(gè)表重復(fù)執(zhí)行步驟和步驟直接結(jié)束。
4. WHERE對vt3應(yīng)用 WHERE 篩選器只有使 where_condition 為true的行才被插入vt4
5. GROUP BY按GROUP BY子句中的列列表對vt4中的行分組生成vt5
6. CUBE|ROLLUP把超組(supergroups)插入vt6,生成vt6
7. HAVING對vt6應(yīng)用HAVING篩選器只有使 having_condition 為true的組才插入vt7
8. SELECT處理select列表產(chǎn)生vt8
9. DISTINCT將重復(fù)的行從vt8中去除產(chǎn)生vt9
10. ORDER BY將vt9的行按order by子句中的列列表排序生成一個(gè)游標(biāo)vc10
11. TOP從vc10的開始處選擇指定數(shù)量或比例的行生成vt11 并返回調(diào)用

    本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多