zoukankan      html  css  js  c++  java
  • 数据库基础之左连接

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

      今天下午处理一个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

     

  • 相关阅读:
    利用列表的知识写一个购物小程序
    基本数据类型(While循环,For循环,列表以及相关用法)
    爬虫学习--Day3(小猿圈爬虫开发_1)
    爬虫学习--常用的正则表达式 Day3
    win10系统任务栏点击没有反应
    python 内建类型
    MWeb
    jmeter创建测试计划
    jmeter建立FTP测试计划
    jmeter配置元件
  • 原文地址:https://www.cnblogs.com/wangn/p/4192101.html
Copyright © 2011-2022 走看看