内联派生表
适用于 ✅ 开源版 ✅ 专业版 ✅ 企业版
内联派生表是一个表表达式,带有一个WHERE 子句,这两种情况都可以在很多情况下内联到调用查询中。
此功能的主要用例是动态 SQL,您可以在不影响调用站点的情况下向表中添加谓词,并且不会放弃类型安全。
-- In SQL, the derived table is inlined SELECT BOOK.ID, BOOK.TITLE FROM BOOK WHERE BOOK.TITLE LIKE 'A%'
// This book reference can be supplied dynamically Book aBooks = BOOK.where(BOOK.TITLE.like("A%")); create.select(aBooks.ID, aBooks.TITLE) .from(aBooks) .fetch();
每当上下文需要时,内联派生表都会生成一个显式的派生表,例如,当在LEFT JOIN
中使用时
-- In SQL, the derived table created explicitly SELECT BOOK.ID, BOOK.TITLE FROM AUTHOR LEFT JOIN ( SELECT * FROM BOOK WHERE BOOK.TITLE LIKE 'A%' ) BOOK ON AUTHOR.ID = BOOK.AUTHOR_ID
// This book reference can be supplied dynamically Book aBooks = BOOK.where(BOOK.TITLE.like("A%")); create.select(AUTHOR.ID, aBooks.ID, aBooks.TITLE) .from(AUTHOR) .leftJoin(aBooks).on(AUTHOR.ID.eq(aBooks.AUTHOR_ID)) .fetch();
反馈
您对此页面有任何反馈吗? 我们很乐意听到您的意见!