sql >> Databáze >  >> RDS >> Mysql

Proč SELECT * FROM tabulka INNER JOIN..ON zobrazuje protínající se sloupec dvakrát?

Když použijete ON people.address = home.address , je to jen náhoda, že názvy sloupců jsou v obou tabulkách stejné -- často tento typ ON podmínka odpovídá sloupcům s různými názvy. Když to uděláte, duplicitní sloupce nebudou z výsledku odfiltrovány.

Ale když použijete USING (address) , názvy sloupců musí být v obou tabulkách stejné (protože USING neumožňuje spojovat sloupce s různými názvy). Protože je zjevně nadbytečné mít oba, jsou duplikáty odfiltrovány.



  1. Příklady UNIX_TIMESTAMP() – MySQL

  2. Jaké jsou důsledky opakovaného otevírání připojení MySQL v PHP

  3. Může OCI_CONNECT způsobit ORA-01438:hodnotu větší, než je specifikovaná přesnost povolená pro tento sloupec?

  4. Jak můžete zobrazit nulu v řadě pomocí dynamiky roku a měsíce v intervalu?