Mysql 内联结与外联结

内联结可分为:等值联结,自然联结(其实等值联结和自然联结是相同的,惟一的区别是,在使用两张表的同名列进行联结操作后,重复列之一不出现在联结结果中,其实这是通过select语句中的结果集的列来控制的)

内联结可使用where语句,也可以使用(inner) jion...on...,语句中表的顺序可以任意。

按公共字段,结果集中只产生两张表共有的部分。

 

外联结可分为:左外联结,右外联结和全外联结

外联结可以产生这些信息:在相同列上没有对应值的行也可以包含在结果表中。在表之间找不到对应值时,在该列上的位置上以控制填充。(不会丢失其中一张表的信息,比如说左联结和右联结,或两种表的信息都不丢失,比如说全联结)

外联结中可以使用left (outer) join ...on...,right (outer) join...on...,full (outer) join...on...,语句中表的顺序对结果集有影响。

左联结保证左边的表中的信息不会丢失,左表中的某个字段值,右表不存在对应的值,则结果集中把这条记录中右表对应的列置NULL。

右联结,全联结与左联结类似~

 

参考:

http://www.cnblogs.com/youzhangjin/archive/2009/05/22/1486982.html

http://blog.csdn.net/hellowheat/article/details/4207467

 

 

你可能感兴趣的:(数据库)