可选的表
适用于 ✅ 开源版 ✅ 专业版 ✅ 企业版
boolean condition = ... create.select(BOOK.ID) .from(BOOK) .join(condition ? AUTHOR : noTable()).on(BOOK.AUTHOR_ID.eq(AUTHOR_ID)) .fetch();
上述查询产生
-- If condition is true SELECT book.id FROM book JOIN author ON book.author_id = author.id -- If condition is false SELECT book.id FROM book
noTable()
表达式将被忽略。如果这意味着 FROM
子句为空,则整个子句将被省略。根据 JOIN 类型,语法上可能仍然需要 ON
子句。但是,如果提供了 noTable()
,则 ON
子句不起作用,将被忽略。
noTable()
表达式仅在 DSL API 中支持,而不支持在 模型 API 中支持,其中noTable()
的行为未定义。
反馈
您对此页面有任何反馈吗? 我们很乐意听取您的意见!