zoukankan      html  css  js  c++  java
  • 七周七数据库读书笔记(1)

    七周七数据库读书笔记(1)

    看到别人推荐买了这本书,决定以后每读一本书都开始写读书笔记

    这本书的第二章开始部分简单的回顾了关系数据库的CRUD,这里主要讲一下数据库中INNER JOIN, LEFT JOIN和RIGHT JOIN的区别。这块很多初学数据库的人会搞不清楚而很多Blog写得又比较深反而不易理解。

    先谈谈INNER JOIN

    INNER JOIN 我们一般解释为内联,通常来说INNER在SQL中可以被省略。简单来说就是通过两个表的某列将两个表相连。这里举例来说有假设数据库中有两张表(表A和表B)

      Country ID Country Name Postal Code
    1 ch China 001
    2 us U.S.A 002
    3 uk United Kingdom 003
    4 mx Mexico 004
      Event ID Event Name Postal Code Country Name
    1 0001 boom 001 China
    2 0002 crash 006 Australia
    3 0003 break 008 Germany
    4 0004 train 010 Canada

    通过SQL  SELECT Event Name From A INNER JOIN B ON A.Postal Code=B.Postal Code 通过内联我们把两张表通过A.Postal Code=B.Postal Code最后得到如下数据的一张表

      Country ID Country Name Postal Code Event ID Event Name Country Name
    1 ch China 001 0001 boom China

    我们从结果可以看到使用内联的结果是将两张表都符合条件的数据根据关系连在一起。

    随后我们谈谈外联LEFT JOINRIGHT JOIN

    LEFT JOINRIGHT JOININNER JOIN的区别就是外联部要求两张表的所有数据都与关系相同,他们会保留在左边或在右边表的内容。仍然以上边的内容举例

    如果我们将SQL改为SELECT Event Name From A LEFT JOIN B ON A.Postal Code=B.Postal Code则左边表的值会被保留得到结果如下而右表只有满足条件的值才会留下来

      Country ID Country Name Postal Code Event ID Event Name Country Name
    1   ch China 001 0001 boom China
    2 us U.S.A 002      
    3 uk United Kingdom 003      
    4 mx Mexico 004      

    同理使用RIGHT JOIN则会保留右边表的内容而左表则只会保留符合条件的值,如SQL改为SELECT Event Name From A RIGHT JOIN B ON A.Postal Code=B.Postal Code

      Country ID Country Name Postal Code Event ID Event Name Country Name
    1 ch China 001 0001 boom China
    2     006 0002 crash Australia
    3     008 0003 break Germany
    4     010 0004 train Canada
  • 相关阅读:
    XCode5中新建工程后强制使用了ARC,如何去掉?
    面向对象程序的设计原则--Head First 设计模式笔记
    ios控件自定义指引
    iOS UITableViewDelegate && UITableViewDataSource 执行顺序
    awakeFromNib方法和viewDidLoad方法区别
    ios 视图的旋转及应用
    线段树模板 (刘汝佳)
    poj 3468
    hdu 2829(四边形优化 && 枚举最后一个放炸弹的地方)
    poj 3517(约瑟夫环问题)
  • 原文地址:https://www.cnblogs.com/loneliness20141112/p/4279035.html
Copyright © 2011-2022 走看看