Kar*_*arl 6 sql join sql-server-2005
我有两个表被选中加入,
表格1
PK Val1 Val2 FK
1 a b 10
2 c d 11
3 e f
4 g h 12
Run Code Online (Sandbox Code Playgroud)
表2
PK Val3
10 X
11 Y
12 Z
Run Code Online (Sandbox Code Playgroud)
当我在这两个表上选择内连接和所有Val-Columns时,我得到这个结果:
Result
PK Val1 Val2 Val3
1 a b X
2 c d Y
4 g h Z
Run Code Online (Sandbox Code Playgroud)
如您所见,缺少第三个条目.我想要的是这样的:
Result
PK Val1 Val2 Val3
1 a b X
2 c d Y
3 e f
4 g h Z
Run Code Online (Sandbox Code Playgroud)
我如何修改joinquery
SELECT ... FROM Table1 INNER JOIN Table2 On Table1.FK = Table2.PK
Run Code Online (Sandbox Code Playgroud)
谢谢你,卡尔
Joh*_*Woo 12
用LEFT JOIN
而不是INNER JOIN
SELECT ... FROM Table1 LEFT JOIN Table2 On Table1.FK = Table2.PK
Run Code Online (Sandbox Code Playgroud)
基本上,INNER JOIN
返回记录在另一个表上至少有匹配的地方.while LEFT JOIN
返回左侧指定的表上的所有记录,无论是匹配还是无匹配.
顺便说一句,LEFT OUTER JOIN
是完全相同的LEFT JOIN
归档时间: |
|
查看次数: |
3565 次 |
最近记录: |