可选的表
适用于 ✅ 开源版 ✅ 专业版 ✅ 企业版
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()的行为未定义。
反馈
您对此页面有任何反馈吗? 我们很乐意听取您的意见!