标签:
假设有a,b两个表做连接,以a leftjoin b为例,on 后面的语句是一个布尔表达式(假设使之为true的条件为R)
新表的行由以下两部分组成:
成员1、同时满足条件R的a b 的行,对应衔接(如果b中有N条行对应a的同一条行,a中的该行会复制N条)
成员2、如果a中的行,按照R中的条件找不到b中的行和它对应,或者R条件本身就使得a中的某些行不能满足,则在新表中,a中的这些行也会保留,只是行中后面b表的部分值会变成null。
-----------rightjoin 同理
----------(inner) join只有1的部分,没有2的部分
在程序中HQL语句中,假设Student @onetomany Classroom,则在执行"selectXXXX from student stu leftjoin stu.classroom cls "的时候
相当于在sql界面使用语句, selectXXXX from (表)stu leftjoin (表)cls on(stu.cid= cls.id),只是sql取出来的是数据,在hql中取出来的是对象或者是对象的属性。
标签:
原文地址:http://www.cnblogs.com/chuliang/p/5727426.html