cwx 发表于 2018-10-23 13:20:31

了解SQL中 inner join、 left join 、right join、 outer join之间的区别

  为了帮助理解 inner join、 left join 、right join、 outer join之间的区别,例举如下例子。使用时,可以对号入座。
  A表(a1,b1,c1)      B表(a2,b2)
  a1      b1       c1       a2       b2
  01   数学    95       01      张三
  02   语文    90       02      李四
  03   英语    80       04      王五
  1、select A.*,B.* from A
  inner join B on(A.a1=B.a2)
  结果是:
  a1       b1       c1       a2       b2
  01   数学   95       01      张三
  02   语文   90       02      李四
  2、select A.*,B.* from A
  left outer join B on(A.a1=B.a2)
  结果是:
  a1       b1       c1       a2          b2
  01   数学   95       01         张三
  02   语文   90       02         李四
  03   英语   80       NULL    NULL
  3、select A.*,B.* from A
  right outer join B on(A.a1=B.a2)
  结果是:
  a1          b1      c1            a2      b2
  01      数学   95            01   张三
  02      语文      90            02   李四
  NULL   NULL    NULL      04   王五
  4、select A.*,B.* from A
  full outer join B on(A.a1=B.a2)
  结果是:
  a1          b1          c1          a2         b2
  01         数学    95          01          张三
  02         语文    90          02          李四
  03         英语      80          NULL    NULL
  NULL    NULL   NULL   04          王五

页: [1]
查看完整版本: 了解SQL中 inner join、 left join 、right join、 outer join之间的区别