inner join、 left outer join

inner join 查找2个表里相交的区域
left outer join 会查出左表包括相交区域的全部表的数据,right outer join 相反
(左表就是先定义的表)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: inner join(内连接)和left outer join(左外连接)都是SQL中用于合并两个或多个表的操作。它们之间的区别在于当连接条件不满足时如何处理。 inner join是根据连接条件将两个表中符合条件的行合并在一起,并返回满足条件的结果。这意味着只有当连接条件在两个表中都匹配时,才会返回结果。如果有一张表中的行没有匹配的行,则这些行将被排除在结果之外。 left outer join则会返回左表中的所有行,同时将右表中符合连接条件的行合并在一起。如果右表中的行没有与左表匹配的行,则会在结果中用NULL值填充这些行。左外连接保证了左表的所有行都会出现在结果中,而不管右表中是否有匹配的行。 举个例子说明,假设我们有两个表,一个是订单表,另一个是顾客表。订单表中的字段包括订单号和顾客ID,顾客表中的字段包括顾客ID和顾客姓名。如果我们使用inner join连接这两个表,只有在订单表中的顾客ID能够在顾客表中找到匹配的ID时,才会返回结果。而如果我们使用left outer join连接这两个表,则不论订单表中的顾客ID是否在顾客表中有匹配,都会返回订单表中的所有行,并在没有匹配的情况下用NULL值填充顾客姓名。 总结来说,inner join只返回满足连接条件的行,而left outer join保证左表的所有行都会出现在结果中,不管右表中是否有匹配的行。 ### 回答2: Inner join(内连接)和left outer join(左外连接)是SQL中两种常用的连接查询方式。 Inner join是通过匹配两个表中的行,返回满足条件的行的连接结果。它只返回两个表中行匹配的行,即只返回在两个表中都存在的行。若某行在一个表中存在,但在另一个表中不存在匹配的行,则该行不会出现在结果集中。这意味着使用Inner join可以过滤掉没有匹配的行,只返回双方都需要的数据。 Left outer join是在Inner join的基础上,还包含了左边表中的所有行。它返回所有左表中的行,无论在右表中是否存在匹配的行。如果某行在左表存在,而在右表中没有匹配的行,则返回的结果中对应的字段将会是空值(NULL)。换句话说,Left outer join保留了左表中的所有行,并将右表中匹配的行合并到结果集中。 总结一下,Inner join只返回两个表都存在的行,而Left outer join除了返回两个表都存在的行,还会返回左表中的所有行。在实际使用中,需要根据具体的需求来选择使用哪种连接方式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值