寫在前面: 我是「揚帆向海」,這個暱稱來源於我的名字以及女朋友的名字。我熱愛技術、熱愛開源、熱愛編程。
技術是開源的、知識是共享的
。
這博客是對自己學習的一點點總結及記錄,如果您對 Java、算法 感興趣,可以關注我的動態,我們一起學習。
用知識改變命運,讓我們的家人過上更好的生活
。
昨天一個同學去面試某公司,面試官讓他說一下sql的執行順序,他盡然答錯了,面試也就到此結束了!實屬不應該。。。 |
借這個機會,在這裏做一下簡單的總結!
1. 書寫順序
按以下的順序書寫sql語句
SELECT 查詢列表.
FROM 表 1
【連接類型】 JOIN 表2
ON 連接條件
WHERE 篩選條件
GROUP BY 分組列表
HAVING 分組後的篩選條件
ORDER BY 排序的字段
LIMIT 起始的條目索引,條目數;
即:
SELECT
→FROM
→ JOIN
→ ON
→ WHERE
→ GROUP BY
→ HAVING
→ ORDER BY
→ LIMIT
注意:
① 連接類型有:inner
、left outer
、right outer
、cross
② 起始條目索引默認從0開始;
③ 若 每頁顯示條目數:pageSize
,要顯示的頁數:page
則有:
SELECT * FROM 表 LIMIT (page-1)* pageSize,pageSize
2. 執行順序
按右邊標出的 ①-⑨ 的順序執行
SELECT 查詢列表 ⑦
FROM 表 1 ①
【連接類型】 JOIN 表 2 ②
ON 連接條件 ③
WHERE 篩選條件 ④
GROUP BY 分組列表 ⑤
HAVING 分組後的篩選條件 ⑥
ORDER BY 排序的字段 ⑧
LIMIT 起始的條目索引,條目數; ⑨
即:
FROM
→ JOIN
→ ON
→ WHERE
→ GROUP BY
→ HAVING
→ SELECT
→ ORDER BY
→ LIMIT
由於水平有限,本博客難免有不足,懇請各位大佬不吝賜教!