sql >> Base de Datos >  >> RDS >> Mysql

¿Por qué SELECT * FROM table INNER JOIN..ON muestra la columna de intersección dos veces?

Cuando usas ON people.address = home.address , es solo una coincidencia que los nombres de las columnas sean los mismos en ambas tablas, a menudo este tipo de ON condition coincide con columnas con diferentes nombres. Las columnas duplicadas no se filtran del resultado cuando hace esto.

Pero cuando usas USING (address) , los nombres de las columnas deben ser los mismos en ambas tablas (ya que USING no le permite relacionar columnas con diferentes nombres). Dado que obviamente es redundante tener ambos, los duplicados se filtran.