我有两个表被选中加入,
表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
如何修改连接查询
SELECT ... FROM Table1 INNER JOIN Table2 On Table1.FK = Table2.PK
谢谢Karl
答案 0 :(得分:11)
使用LEFT JOIN
代替INNER JOIN
SELECT ... FROM Table1 LEFT JOIN Table2 On Table1.FK = Table2.PK
基本上,INNER JOIN
返回另一个表上至少匹配的记录。虽然LEFT JOIN
返回左侧上指定的表上的所有记录,但是它是否匹配。
btw,LEFT OUTER JOIN
与LEFT JOIN
答案 1 :(得分:2)
使用左外连接
SELECT ... FROM Table1 LEFT OUTER JOIN Table2 On Table1.FK = Table2.PK
答案 2 :(得分:-1)
SELECT ... FROM Table1 CROSS JOIN Table2