New versions: Dev (3.15) | Latest (3.14)

Table lists to ANSI JOIN

Applies to ❌ Open Source Edition   ✅ Express Edition   ✅ Professional Edition   ✅ Enterprise Edition

When upgrading from legacy join syntax to the "new" (1992!) ANSI JOIN syntax, the Settings.transformTableListsToAnsiJoin flag can be turned on to produce the following type of transformation:

-- Input
SELECT *
FROM a, b
WHERE a.id = b.id
-- Output
SELECT *
FROM a 
JOIN b ON a.id = b.id

This also works for OUTER JOIN:

-- Input
SELECT *
FROM a, b
WHERE a.id = b.id(+)
-- Output
SELECT *
FROM a 
LEFT JOIN b ON a.id = b.id

Example configuration

Settings settings = new Settings()
    .withTransformTableListsToAnsiJoin(true);

Feedback

Do you have any feedback about this page? We'd love to hear it!

The jOOQ Logo