Mysql中natural join和inner join的区别

假设有如下两个表TableA,TableB

TableA                            TableB
Column1 Column2 Column1 Column3
1 2 1 3
TableA的Column1列名和TableB的Column1列名相同。
SELECT * FROM TableA INNER JOIN TableB USING (Column1)
SELECT * FROM TableA INNER JOIN TableB ON TableA.Column1 = TableB.Column1

这两个查询语句的功能是一样的,都是以Column1作为连接查询,返回结果:

a.column1  a.column2  b.column1  b.column3
1 2 1 3 a.和b.是为了表示属于TableA或TableB的列,实际是不会显示了,它会把两个相同的column1都显示出来。
SELECT * FROM TableA NATURAL JOIN TableB

这句返回结果:

column1  column2  column3
1 2 3
它会去除重复的列名,而且使用natural join的时候不能指定join哪个column,是严格安装相同的列名join的。 参考:http://*.com/questions/8696383/difference-between-natural-join-and-inner-join
 
上一篇:Aizu 2309 Sleeping Time DFS


下一篇:InnoDB MyISAM区别及优化(摘录)