假設有如下兩個表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://stackoverflow.com/questions/8696383/difference-between-natural-join-and-inner-join
?