日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

完整的SELECT查詢

 SELECT DISTINCT column, AGG_FUNC(column_or_expression), … 
 FROM mytable    
 JOIN another_table      
 ON mytable.column = another_table.column    
 WHERE constraint_expression    
 GROUP BY column    
 HAVING constraint_expression    
 ORDER BY column ASC/DESC    
 LIMIT count OFFSET count;

一個查詢SQL的執行總是先從數據里按條件選出數據,然后對這些數據再次做一些整理處理,按要求返回成結果,讓結果盡可能是簡單直接的。因為一個 查詢SQL由很多部分組成,所以搞清楚這些部分的執行順序還挺重要的,這有助于我們更深刻地理解SQL執行過程.

查詢執行順序

1. FROM和 JOINs

FROM 或 JOIN會第一個執行,確定一個整體的數據范圍. 如果要JOIN不同表,可能會生成一個臨時Table來用于 下面的過程。總之第一步可以簡單理解為確定一個數據源表(含臨時表)。

2. WHERE

我們確定了數據來源 WHERE 語句就將在這個數據源中按要求進行數據篩選,并丟棄不符合要求的數據行,所有的篩選column屬性 只能來自FROM圈定的表。AS別名還不能在這個階段使用,因為可能別名是一個還沒執行的表達式。

3. GROUP BY

如果你用了 GROUP BY 分組,那GROUP BY 將對之前的數據進行分組,統計等,并將是結果集縮小為分組數,這意味著其他的數據在分組后丟棄。

4. HAVING

如果你用了 GROUP BY 分組, HAVING 會在分組完成后對結果集再次篩選。AS別名也不能在這個階段使用。

5. SELECT

確定結果之后,SELECT用來對結果col簡單篩選或計算,決定輸出什么數據。

6. DISTINCT

如果數據行有重復DISTINCT 將負責去重。

7. ORDER BY

在結果集確定的情況下,ORDER BY 對結果做排序。因為SELECT中的表達式已經執行完了。此時可以用AS別名。

8. LIMIT/ OFFSET

最后 LIMIT 和 OFFSET 從排序的結果中截取部分數據。

結論

不是每一個SQL語句都要用到所有的句法,但靈活運用以上的句法組合和深刻理解SQL執行原理將能在SQL層面更好的解決數據問題,而不用把問題 都拋給程序邏輯。

分享到:
標簽:查詢 SQL
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定