彻底理解inner join、left join和right join

本文深入解析SQL中的三种连接类型:inner join、left join和right join。通过实例展示如何使用这些连接来从student和grade表中获取数据。inner join只显示两张表中都存在的数据;left join确保左表数据全部显示,右表数据按条件匹配,未匹配的显示为null;right join则相反,确保右表数据全部显示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

实例:student表和对应的grade成绩表


1. inner join 可以理解为"有效的连接",就是根据on后面的关联条件,两张表中都有的数据才会显示
SELECT
    *
FROM
    student stu
 INNER JOIN grade gra on stu.id = gra.c_stuId

2. left join 理解为"主全显,后看on" (主表数据不受影响)左表数据会全部显示出来,连接后的表看on后面的选择条件,如果没有数据则显示为null
SELECT
    *
FROM
    student stu
 LEFT JOIN grade gra on stu.id = gra.c_stuId

3. right join 理解为"主看on,后全显" (右表数据不受影响),即右表数据全部显示,主表数据看on后面的选择条件
SELECT
    *
FROM
    student stu
 RIGHT JOIN grade gra on stu.id = gra.c_stuId

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值