这是查询:
select *
from Table1 tb1 FULL JOIN Table2
tb2
on tb1.party_number = tb2.party_number // returns 100 results
如果我修改查询以添加另一个条件,如下所示:
select *
from Table1 tb1 FULL JOIN
Table2 tb2
on tb1.party_number = tb2.party_number AND
1=0
我的理解是,它应返回0个结果,但仍返回与第一个相同的100个结果。我不明白的是,AND后面的子句的意义是什么?
答案 0 :(得分:1)
AND 1 = 0
使on
条件始终为false。
因此,您将获得来自table1的所有行,其中table2的列具有NULL
的值,以及来自table2的所有行,其中具有{1}}的值来自table1的列。>
我不确定这的真正用途是什么。 NULL
通常是获得这种结果的更好方法。
结果获得相同的行数是证据-但不是确定性证据-没有匹配项。