首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >正确查询SQL查询的联接查询

正确查询SQL查询的联接查询
EN

Stack Overflow用户
提问于 2014-03-19 20:58:17
回答 2查看 89关注 0票数 3

我现在有以下查询

代码语言:javascript
复制
SELECT * FROM tbl_Cars c
        INNER JOIN tbl_Car_Parts cp ON c.Id = cp.Id
        INNER JOIN tbl_Car_Factory cf ON cp.Id = cf.Id

然而,我现在已经意识到,在Cars表中有一些I,而这些I不是在汽车部件表中,所以这些I在我的结果中被省略了,而我希望它们包括在内。我尝试将我的内部连接更改为左外部连接,但是结果集没有什么不同,我被返回了?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-03-19 21:02:51

LEFT OUTER JOIN中使用,连接的两个

代码语言:javascript
复制
SELECT * FROM tbl_Cars c
    LEFT OUTER JOIN tbl_Car_Parts cp ON c.Id = cp.Id
    LEFT OUTER JOIN tbl_Car_Factory cf ON cp.Id = cf.Id

否则,对于那些在INNER JOIN表中没有ID (不加入)的记录,第二个LEFT OUTER JOIN将使第一个tbl_Car_Parts失效。

LEFT OUTER JOIN之后,如果要加入的表与前面使用LEFT OUTER JOIN的表无关,则只能再次使用LEFT OUTER JOIN

票数 3
EN

Stack Overflow用户

发布于 2014-03-19 21:02:06

LEFT应该已经解决了你的问题,不知道为什么它不起作用。为了安全起见,我在两张桌子上都用了左连接.

代码语言:javascript
复制
SELECT * FROM tbl_Cars c
        LEFT JOIN tbl_Car_Parts cp ON c.Id = cp.Id
        LEFT JOIN tbl_Car_Factory cf ON cp.Id = cf.Id
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22517937

复制
相关文章

相似问题

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