ITPub博客

首页 > IT职业 > IT职场 > SQL的多表查询(笛卡尔积原理)

SQL的多表查询(笛卡尔积原理)

IT职场 作者:xingxing999 时间:2020-04-29 17:08:30 0 删除 编辑


  1. 先确定数据要用到哪些表。
  2. 将多个表先通过笛卡尔积变成一个表。
  3. 然后去除不符合逻辑的数据(根据两个表的关系去掉)。
  4. 最后当做是一个虚拟表一样来加上条件即可。

 

注意:列名最好使用表别名来区别。

 

 

笛卡尔积

 

  bubuko.com,布布扣

 

 

Demo:

bubuko.com,布布扣

 

mysql表连接笛卡尔积(join、left join)

1、为什么两张表连接会出现重复数据

2、表的连接过程是怎样的?

举例:

  表A:

    1

    0

  表B:

    1

    0

    0

    2

  执行语句:select * from A join B on A.id = B.id;

  顺序如下:

    join形成的表:

      1 1

      1 0

      1 0

      1 2

      0 1

      0 0

      0 0

      0 2

    on之后:

      1 1

      0 0

      0 0

  所以表连接后出现了重复数据

  

  

   技术分享图片

 



   技术分享图片

 



   技术分享图片

  left join后面必须加上on

   技术分享图片

 



来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69973148/viewspace-2689296/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2020-04-29

  • 博文量
    1
  • 访问量
    11447