mysql多表查詢關鍵知識點 inner join
inner join (內連接,或等值連接):獲取兩個表中字段匹配關係的記錄。
left join(左連接):獲取左表所有記錄,即使右表沒有對應匹配的記錄。
right join(右連接): 與 LEFT JOIN 相反,用於獲取右表所有記錄,即使左表沒有對應匹配的記錄。
假設有tb_a / tb_b / tb_c 三張表根據條件分別返回name,sql怎麼寫呢?話不多說,直接上語句
輸入
select tb_a.name1,tb_b.name2,tb_c.name3 from
(tb_a inner join tb_b on tb_b.id = tb_a.tid)
inner join tb_c on tb_b.tid = tb_c .did;
返回
name1 | name2 | name3 |
---|---|---|
A | B | C |
詳解
// select 後的*代表返回關聯表的所有字段,如果是tb_a.name1這種表名.字段名的則是返回符合條件的字段名
//三張表
SELECT * FROM (表1 INNER JOIN 表2 ON 表1.字段號=表2.字段號) INNER JOIN 表3 ON 表1.字段號=表3.字段號
// INNER JOIN 關聯四張數據表的寫法:
SELECT * FROM ((表1 INNER JOIN 表2 ON 表1.字段號=表2.字段號) INNER JOIN 表3 ON 表1.字段號=表3.字段號) INNER J