
SQL執行順序
首先我們進行查詢的時候,肯定是先獲得一份資料集的,From語句和JOIN被先執行的,就是為了獲得資料集的。
2.WHERE一旦資料集給拿到了,WHERE限制條件會被用到某些行上,并把不滿足的行給抛棄掉。并且,這能夠用到各種資料類型中
3.GROUP BYWHERE條件限定之後,接下來就是GROUP BY語句了,這一語句會根據某一字段進行分組,并對各個組進行求聚合。
想想看,我們先進行的是FROM,緊接着是WHERE,然後才是GROUP BY。是以上面的語句就是錯在了WHERE 語句在執行的時候,GROUP BY語句還沒有開始,那時聚合值sum()還是未知的。
4.HAVINGhaving語句在SQL中的主要作用與Where語句作用是相同的,但是having是過濾聚合值,其實上面的正确寫法是這樣的
5.SELECT在經過上面的執行之後,終于到了select語句,但是别慌,下面還有呢。
6.DISTINCT對于剩下的行,Distinct用來去除重複行,隻保留唯一的。
7.ORDER BY此語句用來對select後的結果,進行排序,升序或者是降序。
8.LIMIT/OFFSET用來限定傳回的行數
總結: