zoukankan      html  css  js  c++  java
  • 左外连接/右外连接

    假设a表有两个字段,Aid、name,  b 表也有两字段 Bid,nameid 其中 nameid是Aid在b 表中的外键

    a表有数据如下:

    Aid name

    1    a

    2    b

    3   c

    b表有数据如下:

    Bid nameid

    1    1

    2    1

    3    1

    4    2

    5    2

    用左连接,说白一点就是以左边那个表为标准,左边那表(表a)的所有记录必须得全部出现

    例如: select * from a left join b on a.Aid=b.nameid 结果应应该为:

    Aid name Bid nameid

    1    a       1    1

    1    a       2    1

    1    a       3    1

    2    b       4    2

    2    b       5    2

    3    c     NULL  NULL

    表a 的 Aid为1的出现了三次,Aid为2的出现了两次,Aid为3的出现了一次,全部都出现了。

    但因为在表b中没有以Aid为3对应的记录,所以用null来填充。

    同样道理,用右连接,说白一点就是以右边那个表为标准, 例如:select * from a right join b on a.Aid=b.nameid 结果应该为:

    Aid name Bid nameid

    1    a       1    1

    1    a       2    1

    1    a       3    1

    2    b       4    2

    2    b       5    2

    表b的记录必须全部出现,但没有出现 a表中Aid为3的记录,是因为b表中没有以之对应的记录,而且此时是以b表为标准的。

  • 相关阅读:
    Java 数组算法列题解析
    Java数组总结
    go实现汉诺塔
    go实现归并排序
    css清除浮动深度解析
    jquery阻止事件冒泡
    java
    getComputedStyle/currentStyle/style之间的爱恨情仇
    js基础总结
    元素堆叠问题、z-index、position
  • 原文地址:https://www.cnblogs.com/k-iss/p/4535137.html
Copyright © 2011-2022 走看看