And*_*rov 5 sql sqlite join left-join outer-join
令我惊讶的是,以下两个查询返回了不同的结果:
SELECT *
FROM foo
JOIN bar
ON bar.id=foo.bar_id
JOIN baz
ON baz.id=foo.baz_id
LEFT JOIN zig
ON zig.foo_id=foo.id;
Run Code Online (Sandbox Code Playgroud)
和:
SELECT *
FROM foo
LEFT JOIN zig
ON zig.foo_id=foo.id
JOIN bar
ON bar.id=foo.bar_id
JOIN baz
ON baz.id=foo.baz_id;
Run Code Online (Sandbox Code Playgroud)
我想象,它不应该的问题,当你LEFT JOIN在zig,因为我没有使用,zig在加入时的列bar和baz.然而,似乎在后者的JOIN的-ing bar和baz吞噬其中行zig有null值......这是为什么?