This is experimental functionality, and as such subject to change. Use at your own risk!
Unnecessary INNER JOIN
Applies to ✅ Open Source Edition ✅ Express Edition ✅ Professional Edition ✅ Enterprise Edition
An INNER JOIN whose ON
clause is always TRUE
, or which doesn't actually join on both sides of the JOIN
operator can be turned into a CROSS JOIN
. In most cases, the CROSS JOIN
is accidental, but with that syntax, at least the error can be more easily recognised.
Using Settings.transformPatternsUnnecessaryInnerJoin
, the following transformations can be achieved:
-- With Settings.transformPatternsUnnecessaryInnerJoin active, this: SELECT * FROM t JOIN u ON TRUE; -- ... is transformed into the equivalent expression: SELECT * FROM t CROSS JOIN u;
Feedback
Do you have any feedback about this page? We'd love to hear it!