1. 程式人生 > >最通俗易懂的Sql語法排序

最通俗易懂的Sql語法排序

    一般的後端開發者寫sql,這些基礎語句就夠用了(SELECT[DISTINCT],FROM,WHERE,GROUP BY,HAVING,UNION,ORDER BY),至於更復雜的基本都是更加專業的資料庫開發工程師(DBD)來完成了畢竟隨著語句的邏輯越複雜,已經不是簡單的實現功能,更多涉及到效能,實行方式有很多,索引,分庫等等,這不是本章討論的範疇,我們這裡只講一講基礎的sql語句執行問題。

常用的關鍵字:

  1. SELECT[DISTINCT]

  2. FROM

  3. WHERE

  4. GROUP BY

  5. HAVING

  6. UNION

  7. ORDER BY

開始推導

我們把表類比為商店:

1,現在你的領導讓你去買水,你的第一反應因該是什麼,當然是去哪個商店買水(FROM(來自…))

2,現在你出門了,來到了商店門口 ,找到商店,跟商店老闆說的要的是礦泉水(WHERE:要什麼)

3,這時商店老闆告訴你商店裡有好幾種品牌的礦泉水,你看了看貨架,在心中計算了一下每個品牌有幾瓶(GROUP BY:統計)

4,你打電話問老闆要幾瓶水,老闆老闆告訴你要五瓶同一品牌的水,你一看(COUNT(*)等函式),只有農夫山泉超過了五瓶(HAVING:哪些符合)

5,那就拿五瓶農夫山泉回去(SELECT:最終結果)

6,這時,一個同事給你打電話,讓你幫忙帶一瓶飲料回去,你又按照剛才的流程又回去買了瓶飲料,你拎著兩袋水回去了(UNION:連線一起)

7,然後回去公司,把第一袋給了老闆,把第二袋給了同事(ORDER BY: 順序)

至此,我們推匯出sql的執行順序

  1. FROM

  2. WHERE

  3. GROUP BY

  4. HAVING(以及sql中的函式如 count(*))

  5. SELECT

  6. DISTINCT

  7. UNION

  8. ORDER BY

是不是非常簡單,可見程式碼的邏輯也是來源於生活 。