This documentation is for the unreleased development version of jOOQ. Click on the above version links to get this documentation for a supported version of jOOQ.
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!