Day3-MySQL單資料表中選取資料,利用速食店foods與商品的例子,簡單演示如何從單個資料表讀取資料,但實際上的使用情境往往複雜得多,需要從多張表讀取,至於為何要這麼做的原因,涉及資料庫的正規化(Normalization),詳細會在往後的文章介紹,目前僅需簡單理解成以下三點。
1.降低資料欄位的重複性
2.避免增、查、刪、改的異常
3.提升資料庫的效能
將資料庫單、雙、多張表透過JOIN語句連結起來,雙、多可以理解,但為何會有單張表的連結?這裡可以帶出自連接的概念,也就是一張表與自身連結,接下來會透過圖與例子來看看有哪些種類的連結,目前先看看最常使用的內連接。
今天屯田署長發現內部有一名警員上班偷偷做模型、兼差,還不小心跑進署長室打破長官送他的花瓶,署長決定透過內連結找出犯人,目前只知道他是龜有公園前派出所的警員,此時署長手中有一份全體警員的名單與龜有公園前派出所的名單,但問題是全體警員沒有姓名,而龜有公園前派出所名單有姓名,於是他決定透過警員編號,連結兩張表方便閱讀姓名
全體警員的名單allPolice
公園前派出所的名單kameari
SELECT *
FROM allPolice
INNER JOIN kameari
ON allPolice.police_id = kameari.id
屯田署長成功使用內連結
其實不用連結也知道那名警員是誰,烏龍派出所真是童年的經典(時代的眼淚),不小心暴露年紀了QQ
Day5-帶你從多張表中讀取數據Part2-外連接、自連結