Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Warum zeigt SELECT * FROM table INNER JOIN..ON die sich überschneidende Spalte zweimal an?

Wenn Sie ON people.address = home.address verwenden , ist es nur ein Zufall, dass die Spaltennamen in beiden Tabellen gleich sind – oft diese Art von ON Bedingung stimmt mit Spalten mit unterschiedlichen Namen überein. Die doppelten Spalten werden dabei nicht aus dem Ergebnis herausgefiltert.

Aber wenn Sie USING (address) verwenden , müssen die Spaltennamen in beiden Tabellen gleich sein (da USING erlaubt es Ihnen nicht, Spalten mit unterschiedlichen Namen zu verknüpfen). Da es offensichtlich überflüssig ist, beide zu haben, werden die Duplikate herausgefiltert.