iT邦幫忙

2022 iThome 鐵人賽

DAY 4
0
Modern Web

MySQL,我的超人系列 第 4

Day4-帶你從多張表中讀取數據Part1-內連結

  • 分享至 

  • xImage
  •  

前言

Day3-MySQL單資料表中選取資料,利用速食店foods與商品的例子,簡單演示如何從單個資料表讀取資料,但實際上的使用情境往往複雜得多,需要從多張表讀取,至於為何要這麼做的原因,涉及資料庫的正規化(Normalization),詳細會在往後的文章介紹,目前僅需簡單理解成以下三點。

1.降低資料欄位的重複性
2.避免增、查、刪、改的異常
3.提升資料庫的效能

連結

將資料庫單、雙、多張表透過JOIN語句連結起來,雙、多可以理解,但為何會有單張表的連結?這裡可以帶出自連接的概念,也就是一張表與自身連結,接下來會透過圖與例子來看看有哪些種類的連結,目前先看看最常使用的內連接。

1.內連結

https://ithelp.ithome.com.tw/upload/images/20220918/20144865CWmzZncy40.png
今天屯田署長發現內部有一名警員上班偷偷做模型、兼差,還不小心跑進署長室打破長官送他的花瓶,署長決定透過內連結找出犯人,目前只知道他是龜有公園前派出所的警員,此時署長手中有一份全體警員的名單與龜有公園前派出所的名單,但問題是全體警員沒有姓名,而龜有公園前派出所名單有姓名,於是他決定透過警員編號,連結兩張表方便閱讀姓名

全體警員的名單allPolice
https://ithelp.ithome.com.tw/upload/images/20220918/20144865L3ODDitT2H.jpg
公園前派出所的名單kameari
https://ithelp.ithome.com.tw/upload/images/20220918/20144865Uu7PErxP0Z.jpg

SELECT *
FROM   allPolice 
INNER JOIN kameari 
ON allPolice.police_id = kameari.id

屯田署長成功使用內連結
https://ithelp.ithome.com.tw/upload/images/20220918/201448656XKhpVKuN8.jpg

閒聊

其實不用連結也知道那名警員是誰,烏龍派出所真是童年的經典(時代的眼淚),不小心暴露年紀了QQ

預告

Day5-帶你從多張表中讀取數據Part2-外連接、自連結


上一篇
Day3-MySQL單資料表中選取資料
下一篇
Day5-帶你從多張表中讀取數據Part2-外連接、自連結
系列文
MySQL,我的超人30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言