版权声明:博客知识产权来源命运的信徒,切勿侵权 https://blog.csdn.net/qq_37591637/article/details/84838355
SQL多表联合查询的知识点回顾
/*连接查询
* 交叉连接:交叉连接返回的结果是被连接的两个表中所有数据行的笛卡尔积,也就是返回第一个
* 表中付汇查询条件的数据行乘以第二个表中符合查询条件的数据行数,例如depert表中有4个部门
* ,而employ表中有4个员工,那么交叉连接的结果就有4*4=16条数据
* 语法格式如下
* select * from 表1 cross join 表2; 或者
* select * from 表1,表2;
* 交叉连接的结果就是两张表中所有数据的组合,实际开发罕见;
*/
/*内连接:又简称简单连接或自然连接。内连接使用比较运算符对两张表中的数据进行比较,并列出
* 与连接条件匹配的数据行,组成新的记录,也就是说在内连接查询中,只有满足条件的记录才能
* 出现在查询结果中
* 语法格式如下:
* select 查询字段 from 表1 join 表2 on 表1.关系字段=表2.关系字段 ;或者
* select * from 表1,表2 where 表1.关系字段=表2.关系字段;或者
* select * from 表1 join 表2 on 表1.关系字段=表2.关系字段;
*/
package cn.com.query;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.junit.Test;
import cn.com.util.Hibernate_Utils;
public class Demo4 {
@Test
public void demo() {
/*
* author:命运的信徒 date:2018/12/5 arm:hibernate的多表联合查询
*/
Session session = Hibernate_Utils.openSession();
Transaction tx = session.beginTransaction();
// k.uu,uu是Kinds实体类里面的一个属性
// 内连接
/*session.createQuery("from Kinds k join k.uu");*/
// 迫切内连接
session.createQuery("from Kinds k inner join fetch k.uu");
tx.commit();
}
}