对于left join
sql可以写:
select * from A left jion B on (A.cid = B.cid and B.l > 10)
如果你把B.l > 10写在where条件中会对连接后的结果集进行过滤,可能会影响结果
而写在on中是对符合的条件结果集进行联接,对A不会有影响
简单描述上面的区别,所以在Hibernate中我们不能将B.l写在where中,那在Hibernate中如何写如上Sql的条件呢
Hibernate提供了With关键字
因此可以 A left join A.b as B with B.l > 10
sql可以写:
select * from A left jion B on (A.cid = B.cid and B.l > 10)
如果你把B.l > 10写在where条件中会对连接后的结果集进行过滤,可能会影响结果
而写在on中是对符合的条件结果集进行联接,对A不会有影响
简单描述上面的区别,所以在Hibernate中我们不能将B.l写在where中,那在Hibernate中如何写如上Sql的条件呢
Hibernate提供了With关键字
因此可以 A left join A.b as B with B.l > 10
本文探讨了SQL中的LEFT JOIN语句的不同写法及其对结果集的影响,并详细解释了如何在Hibernate框架中正确使用这些条件,避免常见错误。
1212

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



