数据表的连接
2015-08-03 17:01
211 查看
以如下两张数据表为例子来分析内连接,左外连接,右外连接,全外连接以及交叉连接的区别:
table_1
table_2
在机子上mysql上创建的两张表:
1 内连接,即自然连接。只连接匹配的行。
只有两张表的数据相匹配的记录才被提取出来。
2 左外连接:包含左边表的全部以及右表中匹配的行。(不管右边的表是否存在与他们匹配的行,没有用NULL表示)
3 右外连接:包含右边表的全部以及左表中匹配的行。(不管左边的表是否存在与他们匹配的行,没有用NULL表示)
4全外连接:包含左右两个表全部的行(不管另外的表中是否存在与它们匹配的行)
由于mysql不直接支持全外连接,所以利用左连接和有连接,再加上UNION语句实现全外连接
5交叉连接:即生成笛卡尔积。不适用任何匹配条件,直接将左边的每一行和右边的表的所有行一一匹配。
table_1
name | sex |
John | man |
Lily | woman |
NULL | NULL |
name2 | age |
Lily | 18 |
Mike | 23 |
NULL | NULL |
1 内连接,即自然连接。只连接匹配的行。
只有两张表的数据相匹配的记录才被提取出来。
2 左外连接:包含左边表的全部以及右表中匹配的行。(不管右边的表是否存在与他们匹配的行,没有用NULL表示)
3 右外连接:包含右边表的全部以及左表中匹配的行。(不管左边的表是否存在与他们匹配的行,没有用NULL表示)
4全外连接:包含左右两个表全部的行(不管另外的表中是否存在与它们匹配的行)
由于mysql不直接支持全外连接,所以利用左连接和有连接,再加上UNION语句实现全外连接
5交叉连接:即生成笛卡尔积。不适用任何匹配条件,直接将左边的每一行和右边的表的所有行一一匹配。
相关文章推荐
- ACM进阶计划(来自于南阳理工学院)
- Netty 中文介绍
- php中实现精确设置session过期时间的方法
- MSRCR(Multi-Scale Retinex with Color Restore)多尺度Retinex图像增强
- Bugly使用注意
- 《Soft Skill》一书中的好句子
- 关于裁剪系统后启动mount: could not find filesystem '/dev/root'问题
- 微信支付
- 数据结构之栈和队列---队列的基本操作
- hdu 5312 Sequence
- linux上使用LD_DEBUG环境变量查看程序使用哪些库
- 千与千寻
- hdu 3974 Assign the task
- 47.关于gradle的解疑
- 总结CSS3新特性(Animation篇)
- hdu 3917 Road constructions 最大权闭合子图
- php构造函数连接数据库
- LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
- Java学习笔记------如何为文本输入框设置下凹效果?
- 查看linux版本的命令