首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有对应的post时的SQL连接

问有没有对应的post时的SQL连接
EN

Stack Overflow用户
提问于 2011-10-09 01:27:31
回答 3查看 38关注 0票数 2

我正在尝试加入一个可能有相关帖子,也可能没有相关帖子的表格,并希望看到那些没有相关帖子的表格。

Select * from customer cu join customerphone cp on cu.customer_id = cp.customer_id

到目前为止没有问题,因为我只想要注册了电话号码的客户,但我如何加入另一个表,其中不是所有客户都有行,我希望在最终结果中也显示那些没有行的客户。是否可以这样做,还是我应该在事后检查是否有相关的数据?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-10-09 01:32:30

您使用左(外)连接。示例:

代码语言:javascript
复制
select c.CustomerId, p.PhoneNumber, cc.Complaint
from Customer c
inner join CustomerPhone p on p.CustomerId = c.CustomerId
left join CustomerComplaint cc on cc.CustomerId = c.CustomerId

您在没有匹配记录的情况下获得的数据将为null,即在没有问题的情况下,cc.Complaint将返回null。

票数 1
EN

Stack Overflow用户

发布于 2011-10-09 01:29:49

使用左外部连接

代码语言:javascript
复制
Select * from customer cu left outer join customerphone cp on cu.customer_id = cp.customer_id

这将导致在没有相应的记录时显示NULL。

如果想要提供默认值,可以在TSQL中使用ISNULL,在MySQL中使用COALESCE

票数 1
EN

Stack Overflow用户

发布于 2011-10-09 01:31:14

你想做一个外连接。

这是一个很好的链接:http://www.oracle-base.com/articles/9i/ANSIISOSQLSupport.php#outer_join

希望这能有所帮助,

-Mark

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7698533

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档