zoukankan      html  css  js  c++  java
  • 数据库外连接和内连接详解

    SQL语句中有关的连接主要有: 外连接、内链接、全连接。

    内连接:

    INNER  JOIN

    内连接为 两个表中必须都同时满足条件

    内连接,即最常见的等值连接

    自然连接和等值连接的区别: 等值连接会将等值条件列出两次,而自然连接只会保留一个表中的等值条件,自然连接不用指明连接条件。

    外连接:

    连接结果不仅包含符合连接条件的行同时也包含自身不符合条件的行。包括左外连接、右外连接和全外连接。

    左外连接:

    左边表数据行全部保留,右边表保留符合连接条件的行

    LEFT JOIN 关键字会从左表 (table_name1) 那里返回所有的行,即使在右表 (table_name2) 中没有匹配的行。

    右外连接:

    右边表数据行全部保留,左边表保留符合连接条件的行

    RIGHT JOIN 关键字会右表 (table_name2) 那里返回所有的行,即使在左表 (table_name1) 中没有匹配的行。

    全外连接:

    左外连接 union 右外连接

     

     右外连接 right outer join 或者 right join

    右外连接是在等值连接的基础上加上被连接表的不匹配数据


    RIGHT   JOIN   或   RIGHT   OUTER   JOIN。  
    右向外联接是左向外联接的反向联接。将返回右表的所有行。如果右表的某行在左表中没有匹配行,则将为左表返回空值。

    全外连接 full outer join 或者 full join

    全外连接是在等值连接的基础上将左表和右表的未匹配数据都加上

    只要其中某个表存在匹配,FULL JOIN 关键字就会返回行。

    全外连接的等价写法,对同一表先做左连接,然后右连接
     

    交叉连接:cross join :结果等于两个表行数的乘积。

    select * from table1 , table2 等价于 select * from table1 cross join table2.


  • 相关阅读:
    【剑指Offer】面试题14- I. 剪绳子
    【剑指Offer】面试题56
    【LeetCode】202. 快乐数
    【LeetCode】1095. 山脉数组中查找目标值
    【LeetCode】260. 只出现一次的数字 III
    【剑指Offer】面试题56
    【LeetCode】33. 搜索旋转排序数组
    【LeetCode】23. 合并K个排序链表
    【LeetCode】46. 全排列
    mysql可视化工具下载地址2017.6.27
  • 原文地址:https://www.cnblogs.com/yongpan666/p/3657993.html
Copyright © 2011-2022 走看看