|previous : next|
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;