Mysql学习总结(25)——MySQL外连接查询
2016-07-08 13:43
651 查看
1、左外连接left outer join或者left jion,outer可以省略不写,下边的右连接和全连接也一样:
左外连接的意思是,以left join左边的表中的数据为基准,即左边的表中有的必须要全部显示出来,如下图:
这里第一个查询中,company表在左边,因此就以company为基准,所以显示的结果中除了depart_id相同的6条数据外,还把company中存在的另外一条也显示出来。
而第二个查询中,emp在左边,就以emp为基准,因此显示的结果中除了depart_id相同的6条外,还把emp中存在的另外一条也显示了出来。
2、右外连接right join:
单从上边的两个查询的查询来看,除开字段顺序的不同外,和左外连接的操作是很相似的。只不过一个是以left join左边的表为基准,而另一个是以right join右边的表为基准。(有朋友说left join的性能比较好,这个暂时先不管,等到性能测试方面的时候再说)
3、全连接full join,这个和上边略有不同的是,语法中不用在join后边使用on,直接select 字段名 from tablename1 full join tablename2;而它 的结果也会出现之前提到的笛卡尔积现象,也就是显示(表1的字段数加上表二的字段数)个字段,显示(表一的记录数乘以表二的记录数)个记录;
左外连接的意思是,以left join左边的表中的数据为基准,即左边的表中有的必须要全部显示出来,如下图:
这里第一个查询中,company表在左边,因此就以company为基准,所以显示的结果中除了depart_id相同的6条数据外,还把company中存在的另外一条也显示出来。
而第二个查询中,emp在左边,就以emp为基准,因此显示的结果中除了depart_id相同的6条外,还把emp中存在的另外一条也显示了出来。
2、右外连接right join:
单从上边的两个查询的查询来看,除开字段顺序的不同外,和左外连接的操作是很相似的。只不过一个是以left join左边的表为基准,而另一个是以right join右边的表为基准。(有朋友说left join的性能比较好,这个暂时先不管,等到性能测试方面的时候再说)
3、全连接full join,这个和上边略有不同的是,语法中不用在join后边使用on,直接select 字段名 from tablename1 full join tablename2;而它 的结果也会出现之前提到的笛卡尔积现象,也就是显示(表1的字段数加上表二的字段数)个字段,显示(表一的记录数乘以表二的记录数)个记录;
相关文章推荐
- Mysql学习总结(25)——MySQL外连接查询
- Mysql学习总结(24)——MySQL多表查询合并结果和内连接查询
- Mysql学习总结(24)——MySQL多表查询合并结果和内连接查询
- Mysql学习总结(23)——MySQL统计函数和分组查询
- Mysql学习总结(23)——MySQL统计函数和分组查询
- mysql之视图
- mysql之触发器trigger(1)
- mysql之触发器before和after的区别(2)
- MySQL之左连接与右连接
- Mysql导入教大sql脚本文件
- Host is not allowed to connect to this MySQL server 和 access denied for user 'root'@'localhost' 解决办法
- MySQL索引原理及慢查询优化
- mysql分表的3种方法(转)
- 跟王老师学MySQL: 基本查询语句
- 使用JDBC在MySQL数据库中快速批量插入数据
- mysql char和varchar区别
- MySQL树形查询
- mysql 关于where和having
- mysql获得数据库和表的信息
- hibernate连接mysql数据库