SQlite -- Select * from left Join

本文通过具体实例对比了SQL中INNER JOIN与LEFT JOIN的区别。详细解释了如何使用INNER JOIN仅获取匹配的数据,以及如何使用LEFT JOIN返回左表的所有记录及右表匹配的记录,帮助读者更好地理解SQL连接的不同用法。

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

    SELECT * FROM a,b WHERE a.id=b.id

    

    SELECT * FROM a LEFT JOIN b ON a.id=b.id

    

    这两种写法有什么区别么 ...?

    

    给个通俗的解释吧.

    例表a

    aid adate

    1    a1

    2    a2

    3    a3

    b

    bid  bdate

    1     b1

    2     b2

    4     b4

    两个表a,b相连接,要取出id相同的字段

    select * from a inner join b on a.aid = b.bid这是仅取出匹配的数据.

    此时的取出的是:

    1 a1 b1

    2 a2 b2

    那么left join :

    select * from a left join b on a.aid = b.bid

    首先取出a表中所有数据,然后再加上与a,b匹配的的数据

    此时的取出的是:

    1 a1 b1

    2 a2 b2

    3 a3 空字符

    同样的也有right join

    指的是首先取出b表中所有数据,然后再加上与a,b匹配的的数据

    此时的取出的是:

    1 a1 b1

    2 a2 b2

    4 空字符 b4

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值