您好,欢迎来到保捱科技网。
搜索
您的当前位置:首页数据库基础之左连接

数据库基础之左连接

来源:保捱科技网


左外连接就是在等值连接的基础上加上主表中的未匹配数据。 今天下午处理一个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/2319

Copyright © 2019- baoaiwan.cn 版权所有 赣ICP备2024042794号-3

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务