使用jOOQ 3.14合成外键在视图上写隐式连接

本文介绍了如何在jOOQ 3.14中利用合成外键在视图上创建隐式连接,简化SQL查询的编写,提高代码可读性。内容涵盖了视图的经典连接、合成外键的配置以及隐式连接的使用,同时讨论了未来可能的发展方向。
摘要由CSDN通过智能技术生成

全的方式浏览你的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 图更容易阅读。但是有这种选择是很好的。特别是,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值