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

PARTITION BY

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

标准 SQL(例如,由 Oracle 实现)提供了一种特殊的语法用于 OUTER JOIN 子句。这可以用于填充简化分析计算的空白。 jOOQ 仅支持将 PARTITION BY 子句放在 OUTER JOIN 子句的右侧。以下示例将为每个 AUTHOR 和 BOOK.PUBLISHED_IN 中的每个现有值创建至少一条记录,无论 AUTHOR 实际上是否在该年份出版过书籍。

SELECT *
FROM AUTHOR
LEFT OUTER JOIN BOOK
PARTITION BY (PUBLISHED_IN)
ON BOOK.AUTHOR_ID = AUTHOR.ID
 
create.select()
      .from(AUTHOR)
      .leftOuterJoin(BOOK)
      .partitionBy(BOOK.PUBLISHED_IN)
      .on(BOOK.AUTHOR_ID.eq(AUTHOR.ID))
      .fetch();

反馈

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

The jOOQ Logo