1.3多表查询1.3.1连接查询:#内连接:自连接查询:#外连接左外连接(可以查询出表名1的所有记录,而表名2中只能查出匹配的记录)SELECT属性名列表FROM表名1LEFTJOIN表名2ON表名1.属性名1=表名2.属性名2;#右外连接(可以查询出表名2的所有记录,而表名1中只能查出匹配的记录)..
分类:
数据库 时间:
2017-09-14 23:52:36
阅读次数:
245
笛卡尔积 select * from A,B;不需要任何条件,两个表相乘。 连接类型:交叉连接,内连接,外连接。 (1)交叉连接,基本就是和笛卡尔积一样的连接。select * from A cross join B where ..... (2)内连接:自然连接,等值连接,非等值连接。 a.自然连 ...
分类:
数据库 时间:
2017-09-14 16:51:58
阅读次数:
255
一、定义: 多表查询包括二张表以上的表的查询,其中有内连拉、左外、右外连接的查询 二、数据准备 三、内连接 查询两张表中都有的关联数据,相当于利用条件从笛卡尔积结果中筛选出了正确的结果。 SELECT * FROM emp,dep WHERE emp.dep_id=dep.id; 或 SELECT ...
分类:
数据库 时间:
2017-09-14 16:42:01
阅读次数:
204
HQL的内连接查询 对于HQL内链接查询,查询的是两张表的数据,这两张表的数据首先是保存在数组之中,然后在将每一个数组保存在List集合之中进行返回 代码片段: 1 @Test 2 // 内连接 3 public void fun1() { 4 SessionFactory factory = nu ...
分类:
Web程序 时间:
2017-09-12 20:49:12
阅读次数:
279
这篇博文讲述如何优化内循环的次数。内循环的次数受驱动表的记录数所影响,驱动表记录数越多,内循环就越多,连接效率就越低下,所以尽量用小表驱动大表。先插入测试数据。 内连接谁当驱动表 实际业务场景中,左连接、右连接可以根据业务需求认定谁是驱动表,谁是被驱动表。但是内连接不同,根据嵌套循环算法的思想,t1 ...
分类:
数据库 时间:
2017-09-12 10:04:34
阅读次数:
187
上一篇讲了比较简单的单表查询以及MySQL的组函数,这一篇给大家分享一点比较难得知识了,关于多表查询,子查询,左连接,外连接等等。希望大家能都得到帮助! 在开始之前因为要多表查询,所以搭建好环境: 1)创建数据表suppliers 前面已经有一张表是book表,我们在建立一张suppliers(供应 ...
分类:
数据库 时间:
2017-09-11 23:31:56
阅读次数:
404
比如:select a.id,u.name,u.pwd from userinfo u.appuser a where a.id=u.id(+);a,id 与u.id前后位置有什么关系? 外连接啊,这个例子里面是做连接相当于select a.id,u.name,u.pwdfrom userinfo ...
分类:
数据库 时间:
2017-09-11 19:41:51
阅读次数:
158
先准备两张表 company.employeecompany.department 5 全外连接:显示左右两个表全部记录 全外连接:在内连接的基础上增加左边有右边没有的和右边有左边没有的结果 #注意:mysql不支持全外连接 full JOIN #强调:mysql可以使用此种方式间接实现全外连接 s ...
分类:
数据库 时间:
2017-09-11 18:15:53
阅读次数:
216
一.多表连接查询 1.交叉连接交叉连接:不适用任何匹配条件。生成笛卡尔积 语法:mysql>select * from table1,table2; 2.内连接:找两张表共有的部分,相当于利用条件从笛卡尔积结果中筛选出了正确的结果 3 .外链接之左连接:优先显示左表全部记录 本质就是:在内连接的基础 ...
分类:
数据库 时间:
2017-09-10 19:43:03
阅读次数:
285
主要内容: 1.多表连接查询 2.符合条件连接查询 3.子查询 4.综合练习 插入数据库,准备表。 一:多表连接查询 (1) 交叉连接: 不适用任何匹配条件。生成笛卡儿积 (2) 内连接:只连接匹配的行 (3) 外链接之左连接:优先显示左表全部记录 (4) 外链接之右连接:优先显示右表全部记录 (5 ...
分类:
数据库 时间:
2017-09-10 18:53:29
阅读次数:
199