sqlite中多个JOIN语句的优先级是什么?

前端之家收集整理的这篇文章主要介绍了sqlite中多个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;

和:

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;

我想象当你在zig上LEFT JOIN时无所谓,因为我在加入bar和baz时没有使用zig的列.然而,似乎在后者中,bar和baz的JOIN-ing吞噬了zig具有空值的行…为什么?

解决方法

这很好用.我错了.

猜你在找的Sqlite相关文章