mysql 10张表左关联查询_mysql left join 左连接查询关联n多张表

本文详细介绍了MySQL中的left join左连接查询,讲解了如何使用left join进行多表关联,并通过示例解释了左连接的原理。同时,提供了三表联结查询的示例代码,展示了在商品表、访问表和销售表之间的数据整合。最后,分享了关于驱动表选择和避免错误的技巧,以及连接查询的其他类型,如内连接、外连接等。
摘要由CSDN通过智能技术生成

left join 左连接即以左表为基准,显示坐标所有的行,右表与左表关联的数据会显示,不关联的则不显示。关键字为left join on。

**基本用法如下:

select table a left join table b on a.id = b.ta_id**

注意:

其中on后面关联的字段应该是同一字段(两表关联的外键)

由于以左表为基准,左表一条记录如果对应右表多条记录,那查出的数据中右表的数据也只显示一条,如果要都显示,可以用group_contact()将字段用逗号隔开显示在一条记录上。所以右表不管有几张,如果和左表都是一对一关系,则没问题,存在一对多关系时,需要一定的处理。

1、内连接:将两个表中存在连结关系的字段符合连接条件的记录形成记录集

SELECT

A. NAME,

B. NAME

FROM

A

INNER JOIN B ON A.id = B.id

SELECT

A. NAME,

B. NAME

FROM

A,

B

WHERE

A.id = B.id

结果是一样的(内连接的inner关键字可省略);

2、外连接:分为左外连接和右外连接

左连接A、B表结果包括A的全部记录和符合条件的B的记录。

右联结A、B表的结果和左联结B、A的结果是一样的,也就是说:

SELECT

A. NAME,

B. NAME

FROM

A

LEFT JOIN B ON A.id = B.id

SELECT

A. NAME,

B. NAME

FROM

B

RIGHT JOIN A ON B.id - A.id

执行后的结果是一样的。

3、全联结

4、无联结

5、三表联结查询

SELECT

username,

psw,

gname,

tel

FROM

(

t1

LEFT JOIN t2 ON t1.t1_id = t2.t1_id

)

LEFT JOIN t3 ON t1.t1_id = t3.t1_id

6、终极的三表联结查询

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值