Re: [請益] 如何在同一個table中取來自兩個不同資긠…

看板PHP作者 (.......................)時間16年前 (2009/08/28 09:13), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/2 (看更多)
※ 引述《shin168 (遇見偶然)》之銘言: : 在一個table中可以讀取sql中的同一個資料表的資料, : 但是如果要在同一個table中讀取來自兩個不同的資料表資料, : 需要怎麼寫? : 又因為我的兩個資料表有同一個連結的變數,可以用什麼方法讀到 : 我要的資料表中的資料嗎? : 煩請高手回覆一下,謝謝! 有兩種方法 假設你有兩張表 A、B A 和 B 中有共同的欄位 ID 方法一: 1. select * from A inner join B on A.ID = B.ID 2. select * from A left join B on A.ID = B.ID 3. select * from A right join B on A.ID = B.ID inner join 和 outter join 的差別在於 inner join 要兩張表有 match 的資料才會撈出來 例如 A 裡面的 ID 欄位有 1,3,5,7,9 五筆資料 B 裡面的 ID 欄位有 2,3,4,6,7,8 五筆資料 則第一條 SQL 只會把 ID 為 3,7 的資料撈出來 第二條 SQL 會把 ID 為 1,3,5,7,9 的資料撈出來 但是 B 裡面沒有 1,5,9 三筆 ID 的資料, 所以 B 中相關的欄位會設定成 null 也就是第二條 SQL 以 A 資料表為主, B 資料表沒有 match 到的部份會變成 null 第三條 SQL 同第二條, 只是第三條 SQL 以 B 資料表為主 方法二 select * from A,B where A.ID = B.ID 這個方法相當於方法一中的 inner join -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.171.133.80
文章代碼(AID): #1AbozDDS (PHP)
文章代碼(AID): #1AbozDDS (PHP)