首页 > 数据库 > mysql教程 > 数据库基础之左连接

数据库基础之左连接

WBOY
发布: 2016-06-07 14:59:54
原创
1798 人浏览过

左外连接就是在等值连接的基础上加上主表中的未匹配数据。 今天下午处理一个SQL,通过left outer join(so as right left outer join)的表的关联方式. 看到这种语法,直觉上反映查询结果的条数应该是Where之后主表返回的记录数(下将Where描述前置略去),直到今

  左外连接就是在等值连接的基础上加上主表中的未匹配数据。

  今天下午处理一个SQL,通过left outer join(so as right left outer join)的表的关联方式. 看到这种语法,直觉上反映查询结果的条数应该是Where之后主表返回的记录数(下将Where描述前置略去),直到今天下午写了一个SQL语句,返回的记录数表总表的比总表的还要多.呐尼!

  觉得有点不可接受,why?参考资料也没反应整明白是为什么,查找了半天资料,也没明白所以然。

  于是拉旁边的哥们讨论一下,哥们看了一下说,有无考虑过子表记录有重复的情况!瞬间明白了....

  大概齐也就是这么个事:

CREATE TABLE a
(
 A INT
)

CREATE TABLE ab
(
 B INT
)

INSERT INTO a VALUES(1);
INSERT INTO a VALUES(2);

INSERT INTO ab VALUES(1);
INSERT INTO ab VALUES(1);
INSERT INTO ab VALUES(1);


SELECT * FROM a


SELECT * FROM a LEFT OUTER JOIN  ab
ON (a.a=ab.b)
登录后复制

查询的结果为: 

  

1 1 1
2 1 1
3 1 1
4 2

 

记录这个事情的主要目的主要是为了说明:在工作的过程中,第一反应的不一定是对的,而当我们自己深陷其中的时候不妨找个局外人帮我们处理一下。是所谓旁观者清,^_^。在讨论的时候还应注意只客观描述问题,尽量不要把小伙伴们也拉到自己的思维陷井中。

连接的参考资料:http://liuzidong.iteye.com/blog/892319

 

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板