可用版本: Dev (3.21) | 最新版 (3.20) | 3.19 | 3.18 | 3.17 | 3.16 | 3.15 | 3.14 | 3.13

ANSI JOIN到表列表

适用于 ❌ 开源版   ✅ Express 版   ✅ 专业版   ✅ 企业版

几乎所有的 SQL 方言都支持 ANSI 92 JOIN 语法,但有时,用户可能希望生成与旧版 Oracle 版本兼容的 SQL,因为这些版本尚不支持此语法,或者对其优化器的支持有限。 作为一种解决方法,可以启用 Settings.transformAnsiJoinToTableLists 标志以产生以下类型的转换

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

这也适用于 OUTER JOIN

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

示例配置

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

引用此页

反馈

您对此页面有任何反馈吗? 我们很乐意听取您的意见!

The jOOQ Logo