[MS SQL] 6. 合併查詢-多資料表查詢 Join-Querying Multiple Tables

YaYi
Sep 22, 2021

--

JOIN 連結運算:多資料表中的資料用JOIN連結運算結合成一個虛擬資料表(Virtual Table → 向量積運算)

JOIN Types:1.交叉連結 Cross Join
2.內部連結 Inner Join
3.外部連結 Outer Join
4.自我連結 Self Join
  1. 交叉連結 Cross Join (兩個資料表間的笛卡兒乘積Cartesian product)
  • 無條件連結,產生測試資料,不具資料查詢的價值
  • 內部連結和外部連結的邏輯基礎

2. 內部連結 Inner Join

  • 產生只有符合條件連結(Join Conditions)的資料
  • 第一個資料表所有的 ROWS 會跟第二個資料表中每一個 ROW 做連結條件測試,結果為TRUE才會合併產生一筆記錄
  • Join Conditions → Parents.PK = Child.FK
  • 多個資料表連結運算
  • 不相等的連結 Non-Equi Join
連結條件不是用等號,連結條件運算子: >= , <= , BETWEEN AND
若符合條件資料超過一筆以上,資料可能不會正確

3. 外部連結 Outer Join

  • 指定一資料表,當連結條件符合時產生資料
  • 若與第二個資料表都不符合連結條件時 :將該筆記錄增至虛擬資料表中,另一資料表的欄位內容填入 NULL Value
  • RIGHT OUTER JOIN , LEFT OUTER JOIN , FULL OUTER JOIN (OUTER可省略不寫)

4. 自我連結 Self Join

  • 使用同一個表格做連結運算(交叉連結,內部連結,外部連結)
  • 使用表格別名來建立二個相同資料表的連結運算

--

--

YaYi
YaYi

Written by YaYi

#Learn#Software#Beginners#Notes

No responses yet