執行SQL select 語句的6 個步驟(分析 SQL 搜尋/尋找 語法 的執行 過程/步驟)

執行SQL select 語句的6 個步驟(分析 SQL 搜尋/尋找 語法 的執行 過程/步驟)

執行SQL select 語句的6 個步驟(分析 SQL 搜尋/尋找 語法 的執行 過程/步驟)


資料來源: https://mp.weixin.qq.com/s?__biz=MzU5NDgyMjc0OQ==&mid=2247489859&idx=3&sn=c77658107bbe17d9bea0e73cfcead8e7&chksm=fe7a0a71c90d8367c7571cd726fb59367aa4af8d3a91f6d3229bb122d4cb65edd17fefdf770a&scene=126&sessionid=1593508469&key=2eaef6333c5ec5d2e3156980412f1c1fcc7f3028f6c9443189e98b3b1f267e6aba54942ef511455432b237d55f3f21373bce48b8128a822dd90638a38f329e0ff13cc3b566b103e368b3cd3843e0bc4f&ascene=1&uin=MjIwODk2NDgxNw%3D%3D&devicetype=Windows+10+x64&version=62090523&lang=zh_TW&exportkey=Ag81OUO48GzHUsKlZqKDVVg%3D&pass_ticket=CpcLJtEE84xO2tR88gPLAG7sl60BcgheCEj1KIqhrbTEUJTHd5S%2FVlgT3D8kF9FF

https://towardsdatascience.com/the-6-steps-of-a-sql-select-statement-process-b3696a49a642


SQL 語法:

SELECT city.city_name AS "City"
FROM citizen
JOIN city 
ON citizen.city_id = city.city_id 
WHERE city.city_name != 'San Bruno'
GROUP BY city.city_name
HAVING COUNT(*) >= 2
ORDER BY city.city_name ASC
LIMIT 2

★查詢處理步驟順序條列:


01.獲取數據(From, Join)
    -執行From和Join子句
        FROM citizen
        JOIN city 
    -From和Join子句執行之後,處理器會根據On指定的條件從記錄集合中挑出符合條件的記錄:
        ON citizen.city_id = city.city_id
        
02.記錄過濾(Where)
    -拿到了記錄集合之後,開始執行Where子句。
        使用指定的條件過濾記錄集合,如果計算結果不為true,就會從記錄集合中移除。
        WHERE city.city_name != ‘San Bruno’

03.分組(Group by)
    -執行Group by子句,對記錄集合分組,把city_name相同的放到一組。
        GROUP BY city.city_name
        
04.組內記錄過濾(Having)
    -Having子句在Group by之後執行,其中包含了一個邏輯斷言。
        需要注意,其針對的是記錄組,而不是單獨的記錄。
        HAVING COUNT(*) >= 2

05.返回表達式(Select)
    -在這步中,需要計算出打印什麼,以及如何打印,例如包含一些函數的話(Distinct , Max , Sqrt , Date, Lower …),就需要執行。
        在這個示例中,只需要打印出city_name這一列,以及別名”City”。

06.排序& 分頁(Order by & Limit / Offset)
    -最後一步處理結果集的展示順序,還有限制結果集的數量。
        這個示例中,記錄是按字母排序的,顯示的記錄數量最多為2 個。

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *