数据库中的内链接、天然链接、外链接

数据中的链接join分为内链接、天然链接、外链接,外链接又分为左外链接、右外链接、全外链接。
  
  固然,这些分类都是在链接的基础上,是从两个表中记录的笛卡尔积中选取知足链接的记录。笛卡尔积简单的说就是一个表里的记录要分别和另一个表的记录匹配为一条记录,即若是表A有3条记录,表B也有三条记录,通过笛卡尔运算以后就应该有3*3即9条记录。以下表:


天然链接(natural join)
  天然链接是一种特殊的等值链接,他要求两个关系表中进行比较的必须是相同的属性列,无须添加链接条件,而且在结果中消除重复的属性列。
  sql语句:Select …… from 表1 natural join 表2
  结果:

   内链接(inner  join)
  内链接基本与天然链接相同,不一样之处在于天然链接要求是同名属性列的比较,而内链接则不要求两属性列同名,能够用using或on来指定某两列字段相同的链接条件。
  sql语句:Select …… from 表1 inner join 表 2 on 表1.A=表2.E
  结果:
 
  天然链接时某些属性值不一样则会致使这些元组会被舍弃,那如何保存这些会被丢失的信息呢,外链接就解决了相应的问题。外链接分为左外链接、右外链接、全外链接。外链接必须用using或on指定链接条件。

 左外链接(left outer join)
  左外链接是在两表进行天然链接,只把左表要舍弃的保留在结果集中,右表对应的列上填null。
  sql语句:Select …… from 表1 left outer join 表2 on 表1.C=表2.C
结果:

  右外链接(rignt outer join)
  右外链接是在两表进行天然链接,只把右表要舍弃的保留在结果集中,左表对应的列上填null。
 Select …… from 表1 rignt outer join 表2 on 表1.C=表2.C
  结果:

  全外链接(full join)
  全外链接是在两表进行天然链接,只把左表和右表要舍弃的都保留在结果集中,相对应的列上填null。
 Select …… from 表1 full join 表2 on 表1.C=表2.C
  结果:sql

相关文章
相关标签/搜索