SQL-三张表关联查询(INNER JOIN)

【使用场景】:
现有A\B\C 三张表,现在要查询并展示A表和C表中的某些字段,但是A、C两表没有相同字段,无法关联,此时有B表恰好有两个字段,一个字段和A表一个字段相同,一个字段和C表一个字段相同,我们称B表为“中间表”,因此通过B表把A、C表关联起来

方法一(推荐):
SELECT  A1,A2,C1,C2      --展示A表中的A1\A2字段和C表中的C1\C2
FROM  B                         --中间表
INNER JOIN A ON A.A1 = B.B1   --A表中的与B表中相同的字段
INNER JOIN C ON C.C1 = B.B1    --C表中的与B表中相同的字段
where    xxxxx     ---条件你自己按照需求来加,没有条件就不写where了

方法二(有点笨,但也好用,写子查询)
原理:两两关联,在关联第三张表
select  C.C1,C.C2,D.*     --打印出C表的C1,C2字段和D表中的select 后面的字段,即A1,A2,A3,B1,B2,B3
from C, (select  A1,A2,A3,B1,B2,B3  from A,B )  D   --先把A,B两张表关联起来,命名为D表,再与C表关联,注意,A,B表关联时一定要记得打印出B表中与C表相同的字段
where   xxxxx    ---条件你自己按照需求来加,没有条件就不写where了

口径理解记忆方法:
1、首选找出“中间表”
2、select * from :固定格式照写,select后面跟你要打印的表的字段,from后面跟中间表
3、接着写两个 INNER JOIN A ON ,"A"替换成另外两张表,两个ON 后跟中间表与刚替换A时用的表,相同字段关联起来。
4、有判断条件的加where,后跟判断条件,没有就不写,至此完毕。

  • 51
    点赞
  • 198
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值