mysql oracle 查询语句执行顺序_MySQL sql语句执行顺序
(8)?????DISTINCT?
(1)?????FROM?
(3)??????JOIN?
(2)?????ON?
(4)?????WHERE?
(5)?????GROUP?BY?
(6)?????HAVING?
(9)?????ORDER?BY?
(10)????LIMIT?
一、執行FROM語句,mysql是從左往右執行,oracle是從右往左執行,SQL語句的執行過程中,都會產生一個虛擬表,用來保存SQL語句的執行結果(這是重點),執行from語句之后會產生一個虛擬表暫時叫VT1(vitual table 1),VT1是根據笛卡爾積生成
二、執行on進行過濾
根據on后面的條件過濾掉不符合條件的數據,參數VT2
三、執行鏈接的類型
inner join內連接、left join左鏈接、right右鏈接、outer join 外鏈接、full?outer?join 全連接
執行完產生VT3
四、執行where后面的條件
這時候使用WHERE條件的時候要注意:不能使用組函數、并且字段的別名不能放到條件中使用
例如SELECT city as c FROM t WHERE c=‘shanghai‘
五、執行group by 進行分組
六、執行having過濾
HAVING子句主要和GROUP BY子句配合使用,having后面可以跟組函數的條件
七、執行select
八、執行distinct,去掉重復的數據
九、執行order by 語句排序
十、執行分頁語句
轉自:?http://blog.csdn.net/u010833154/article/details/50696583
MySQL sql語句執行順序
標簽:.net???group by???art???sql???條件過濾???join???order???字段???生成
本條技術文章來源于互聯網,如果無意侵犯您的權益請點擊此處反饋版權投訴
本文系統來源:http://www.cnblogs.com/shenwenkai/p/7135824.html
總結
以上是生活随笔為你收集整理的mysql oracle 查询语句执行顺序_MySQL sql语句执行顺序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python list 去重_Pytho
- 下一篇: python交互式程序设计导论第二周_沧