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