Mysql
 sql >> Database >  >> RDS >> Mysql

Perché SELECT * FROM table INNER JOIN..ON mostra due volte la colonna che si interseca?

Quando usi ON people.address = home.address , è solo una coincidenza che i nomi delle colonne siano gli stessi in entrambe le tabelle -- spesso questo tipo di ON condizione corrisponde a colonne con nomi diversi. Quando esegui questa operazione, le colonne duplicate non vengono filtrate dal risultato.

Ma quando usi USING (address) , i nomi delle colonne devono essere gli stessi in entrambe le tabelle (poiché USING non consente di mettere in relazione colonne con nomi diversi). Dal momento che è ovviamente ridondante averli entrambi, i duplicati vengono filtrati.