sql >> Database >  >> RDS >> Mysql

Waarom toont SELECT * FROM table INNER JOIN..ON de kruisende kolom twee keer?

Wanneer u ON people.address = home.address . gebruikt , het is gewoon toeval dat de kolomnamen in beide tabellen hetzelfde zijn -- vaak dit type ON voorwaarde komt overeen met kolommen met verschillende namen. De dubbele kolommen worden niet uit het resultaat gefilterd wanneer u dit doet.

Maar wanneer u USING (address) . gebruikt , moeten de kolomnamen in beide tabellen hetzelfde zijn (sinds USING staat u niet toe kolommen met verschillende namen te relateren). Omdat het natuurlijk overbodig is om ze allebei te hebben, worden de duplicaten eruit gefilterd.



  1. Orakel Juliaanse dag van het jaar

  2. UID – Retourneer de ID van de huidige sessie in Oracle

  3. Haal het juiste deel van een string in SQL Server (T-SQL)

  4. Bereken een lopend totaal in MySQL