自然连接的显著作用在于控制笛卡尔集的产生,将其衍生出的冗余数据归一化;
消除笛卡尔集我们常常采用连接查询,这里可以认为自然连接是连接查询的另一种体现;
自然连接的原理是这样的,它会自动检索两张表中同名同类型的字段然后将其作为连接条件;
这样就造成了一个问题,那就是如果有多个同名同类型的字段时,它将应收尽收,以这么多个字段作为连接条件;
为了能够解决这种状况,为了能够指定自己想要使用的连接字段,产生了JOIN…USING的写法;
与之作用类似的还有JOIN…ON;
下面贴出同一操作的四种写法:
连接查询
select a.x,b.y from a,b where a.z=b.z;
自然连接
select a.x,b.y from a natural join b;
JOIN…USING
select a.x,b,y from a join b using(z);
JOIN…ON
select a.x,b.y from a join b on a.z=y.z;