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://stackoverflow.com/questions/8696383/difference-between-natural-join-and-inner-join
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM