最通俗易懂的Sql語法排序
阿新 • • 發佈:2018-12-09
一般的後端開發者寫sql,這些基礎語句就夠用了(SELECT[DISTINCT],FROM,WHERE,GROUP BY,HAVING,UNION,ORDER BY),至於更復雜的基本都是更加專業的資料庫開發工程師(DBD)來完成了,畢竟隨著語句的邏輯越複雜,已經不是簡單的實現功能,更多涉及到效能,實行方式有很多,索引,分庫等等,這不是本章討論的範疇,我們這裡只講一講基礎的sql語句執行問題。
常用的關鍵字:
-
SELECT[DISTINCT]
-
FROM
-
WHERE
-
GROUP BY
-
HAVING
-
UNION
-
ORDER BY
開始推導
我們把表類比為商店:
1,現在你的領導讓你去買水,你的第一反應因該是什麼,當然是去哪個商店買水(FROM(來自…))
2,現在你出門了,來到了商店門口 ,找到商店,跟商店老闆說的要的是礦泉水(WHERE:要什麼)
3,這時商店老闆告訴你商店裡有好幾種品牌的礦泉水,你看了看貨架,在心中計算了一下每個品牌有幾瓶(GROUP BY:統計)
4,你打電話問老闆要幾瓶水,老闆老闆告訴你要五瓶同一品牌的水,你一看(COUNT(*)等函式),只有農夫山泉超過了五瓶(HAVING:哪些符合)
5,那就拿五瓶農夫山泉回去(SELECT:最終結果)
6,這時,一個同事給你打電話,讓你幫忙帶一瓶飲料回去,你又按照剛才的流程又回去買了瓶飲料,你拎著兩袋水回去了(UNION:連線一起)
7,然後回去公司,把第一袋給了老闆,把第二袋給了同事(ORDER BY: 順序)
至此,我們推匯出sql的執行順序
-
FROM
-
WHERE
-
GROUP BY
-
HAVING(以及sql中的函式如 count(*))
-
SELECT
-
DISTINCT
-
UNION
-
ORDER BY
是不是非常簡單,可見程式碼的邏輯也是來源於生活 。