数据库左连接,右连接,内连接,外连接

  记笔记,记笔记

      我记得有人问过我这个问题,当时回答得不太好,我补上这个问题

    首先连接有:内连接,外连接(左外,右外),全连接(交集),交叉连接(笛卡尔积)

    先略两个表

    

    首先左连接:SELECT * FROM test1 a LEFT JOIN test2 b ON a.id = b.id;

    (尴尬,join打错了,毕竟英语没有6级(#^_^!))

    解释下就是以左边表id(案例里面是test1)为基础和右表id对比,左表有的右表也有就也出来,右表没有的就NULL咯,右连接和左连接相反

    右连接:SELECT * FORM test1 a RIGHT JOIN test2 b ON a.id = b.id;

    

    enh,以右边表id为基础和左边表id对比,右边表有的左边表也有就显示出来,左边表没有的就NULL

    内连接:SELECT * FROM test1 a INNER JOIN test2 b ON a.id = b.id;

    

    解释的话就是:两个表的交集,就是左表和右表都有的才显示出来

    全连接:(SELECT * FROM test1) UNION (SELECT * FROM test2);

     

     UNION是两个交集,相当于两张表数据和在一起(不重复),下面是会重复的UNION ALL:(SELECT * FROM test1) UNION ALL (SELECT * FROM test2);

       

    交叉连接:SELECT * FROM test1 CROSS JOIN test2;

     

          OVER

    

猜你喜欢

转载自www.cnblogs.com/yigedapangzhi/p/10290311.html