左关联(left join)与内关联(inner join)
在实际项目开发中,实现多表关联的时候我们大都习惯于采用左关联与内关联,所以这里着重讲述左关联(left join)与内关联(inner join)。
一、左关联(left join)
左关联是不平等条约。将先出现的表简称为你,后出来的表简称为我。你我签约左关联,你有我有的数据,你我都可以展示;你有我没有的数据,你可以展示你的,我的展示全赋值为空;你没有我有的数据,对不起,没有展示的机会。所以说,左关联是不平等条约。
举例如下:
1. 当两表的关联键值都是唯一
左表数值如下
右表数据如下
关联后数据展示如下
2. 当左表主键值唯一,右表主键值不唯一
左表数值如下
多表left join
右表数值如下
关联后数据展示如下
3. 左表关联键值不唯一右表关联键值唯一
左表数值如下
右表数值如下
两表关联后数值如下
4. 两表关联键值都不唯一
左表数值如下
右表数值如下
两表左关联后数值如下
关联后的值一片混乱,可见在实际开发中,使用左关联的关联键值设为唯一是多么的重要。
二、内关联
内关联是平等条约。将先出现的表称为你,后出现的表称为我。你我签约内关联,你有我有的数据,你我都可以展示;你有我没有的数据,都不展示;你没有我有的数据,也都不
展示。公平吧,我就喜欢这样的条约。
1. 两表关联键唯一
左表数值如下
右表数据如下
关联后数据展示如下
2. 当左表主键值唯一,右表主键值不唯一
左表数值如下
右表数值如下
两表关联数值如下
3. 左表关联键唯一而右表关联键不唯一
左表数值如下
右表数值如下
两表关联后数值如下
4. 两表关联键都不唯一
左表数值如下
右表数值如下
两表左关联后数值如下
关联后的值惨不忍睹啊,再一次强调,关联键的值唯一是多么的重要。
三、左关联与内关联的比较
一般情况下,左关联和内关联区别很大,不过也有特列。
1. 左右表关联键值唯一,一般情况下左关联与内关联区别如下
左表数值如下
右表数值如下
左关联数值如下
内关联如下
由以上的数值比对可以看到,这两种关联所产生的结果差别很大。在实际开发生产中,数据量大的产生的效果更明显,如果没有选择好关联属性,会遗漏很多数据的,这样大的失误,生产中是不允许的。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论