sqlite中多个JOIN语句的优先级是什么?
发布时间:2020-12-12 18:56:55 所属栏目:百科 来源:网络整理
导读:令我惊讶的是,以下两个查询返回了不同的结果: 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.
令我惊讶的是,以下两个查询返回了不同的结果:
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具有空值的行…为什么? 解决方法这很好用.我错了.(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |