驚いたことに、次の 2 つのクエリは異なる結果を返しています。
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;
と:
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;
と を結合するときに の列を使用していないため、がLEFT JOIN
オンのときは問題にならないと想像しています。ただし、後者では、-ingが値を持っていた行を飲み込んでいるように見えます...なぜですか?zig
zig
bar
baz
JOIN
bar
baz
zig
null