全的方式浏览你的to-one关系,隐式生成 LEFT JOIN 操作,而不必一直考虑连接谓词,以及正确的连接顺序。考虑一下这个Sakila数据库查询,如果SQL原生支持隐式连接。
SELECT cu.first_name, cu.last_name FROM customer AS cu WHERE cu.address.city.country.country = 'Switzerland' 复制代码
它在本地SQL中被翻译成这个查询。
有需要大厂面经和面试技巧思维导图的朋友可以点进去了解一下,点击——【传送门】——即可!

SELECT cu.first_name, cu.last_name FROM customer AS cu JOIN address AS ad ON cu.address_id = ad.address_id JOIN city AS ci ON a.city_id = ci.city_id JOIN country AS co ON ci.country_id = co.country_id WHERE co.country = 'Switzerland' 复制代码
**注意:**从jOOQ 3.14开始支持内联,这取决于外键是否是强制性的/非空。默认行为是产生 LEFT JOIN ,这是隐式连接可选外键的正确方式。 隐式连接不是银弹。不是每一个 JOIN 图都可以完全转化为隐式连接的用法,也不是每一个隐式连接的用法都比本地SQL JOIN 图更容易阅读。但是有这种选择是很好的。特别是,当你的键

本文介绍了如何在jOOQ 3.14中利用合成外键在视图上创建隐式连接,简化SQL查询的编写,提高代码可读性。内容涵盖了视图的经典连接、合成外键的配置以及隐式连接的使用,同时讨论了未来可能的发展方向。
最低0.47元/天 解锁文章
1133

被折叠的 条评论
为什么被折叠?



