[英]join if entry doesn't exists in second table
我有两个表被选中加入,
表格1
PK Val1 Val2 FK
1 a b 10
2 c d 11
3 e f
4 g h 12
表2
PK Val3
10 X
11 Y
12 Z
当我在这两个表上选择内连接和所有Val-Columns时,我得到这个结果:
Result
PK Val1 Val2 Val3
1 a b X
2 c d Y
4 g h Z
如您所见,缺少第三个条目。 我想要的是这样的:
Result
PK Val1 Val2 Val3
1 a b X
2 c d Y
3 e f
4 g h Z
我如何修改joinquery
SELECT ... FROM Table1 INNER JOIN Table2 On Table1.FK = Table2.PK
谢谢你,卡尔
使用LEFT JOIN
而不是INNER JOIN
SELECT ... FROM Table1 LEFT JOIN Table2 On Table1.FK = Table2.PK
基本上, INNER JOIN
返回另一个表上至少匹配的记录。 而LEFT JOIN
返回左侧指定的表上的所有记录,无论它是匹配还是没有。
顺便说一句, LEFT OUTER JOIN
与LEFT JOIN
相同
使用左外连接
SELECT ... FROM Table1 LEFT OUTER JOIN Table2 On Table1.FK = Table2.PK
SELECT ... FROM Table1 CROSS JOIN Table2
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.