如何使用INNER JOIN并仍然在没有引用的情况下查询行

时间:2014-02-10 07:09:10

标签: sql

我有以下示例表...

表1

F1   F2     
 2   Chris  
 5   John   
 8   Smith  

表2

F1   F2
 2   New
 5   Old
 8   New
 9   New

我的表可能没有多大意义,但它们只是样本。无论如何......如果我使用这个SQL语句......

SELECT 
    T2.*,T1.F2
FROM 
    Table2 T2
INNER JOIN 
    Table1 T1 ON T2.F1 = T1.F1

我应该可以获得下面显示的行......

T2.F1  T2.F2  T1.F2
 2     New    Chris
 5     Old    John
 8     New    Smith

然而,这不是我想要的......我想在没有参考的情况下获得INNER JOIN。如果没有找到引用,则应该为该字段返回null,但仍然返回相同的#行返回...

T2.F1  T2.F2  T1.F2
 2     New    Chris
 5     Old    John
 8     New    Smith
 9     New    NULL

我该怎么做?非常感谢您提前:))

1 个答案:

答案 0 :(得分:3)

您无法使用INNER JOIN执行此操作 - 您需要使用LEFT OUTER JOIN代替:

SELECT 
    T2.*,T1.F2
FROM 
    Table2 T2
LEFT OUTER JOIN 
    Table1 T1 ON T2.F1 = T1.F1