Dire che ho tabelle e mi unisco a loro con inner join. Qual è il vantaggio dell'uso di "ON" su "USING". O sono gli stessi in tutti i sensi?SQL INNER ENTRARE E UTILIZZARE
risposta
USING
USING
è un equijoin e causa la rimozione di colonne duplicate dal gruppo di risultati (probabilmente questo lo rende "più relazionale").
ON
è un join theta (vale a dire che la condizione di join non deve essere l'uguaglianza e può coinvolgere colonne con nomi diversi) e consente alle colonne duplicate di apparire nel set di risultati.
USING
richiede i nomi delle colonne di entrambe le tabelle di essere identici:
SELECT *
FROM employee
INNER JOIN department
USING (DepartmentID);
mentre ON
permette di designare le colonne di aderire on:
SELECT *
FROM employee
JOIN department
ON employee.DepartmentID = department.ID;
In breve, USING
è più succinta, ma ON
è più flessibile.
Non tutte le versioni di SQL usufruendo quindi è meno portatile, oltre ad essere un modo per interrogare rara.
Mi stavo chiedendo perché non ne ho mai sentito parlare prima, e apparentemente 'L'USO la clausola non è supportata da SQL Server e Sybase. "-Wikipedia. Sembra comunque conveniente: – Davy8
' USING' in questo contesto non sembra essere disponibile in DB2 per iSeries. –
- 1. con inner join query SQL
- 2. Tentativo di utilizzare INNER JOIN e GROUP BY SQL con SUM Function, Not
- 3. Confronto inner join e outer join Istruzioni SQL
- 4. SQL Inner-join con 3 tabelle?
- 5. SQL INNER JOIN ottimizzazione automatica in HSQLDB
- 6. SQL Server - inner join durante l'aggiornamento
- 7. SQL Server - INNER JOIN CON DISTINTO
- 8. postgresql group by e inner join
- 9. C++ typename e inner classes
- 10. aggiornare le tabelle multiple in SQL Server utilizzando INNER JOIN
- 11. Per SQL, quando è stato preferibile utilizzare sempre le parole "Inner Join" invece di unirsi implicitamente?
- 12. Come inner inner join multiple columns?
- 13. utilizzando where e inner join in mysql
- 14. inner join con group by expression in oracle sql
- 15. INNER JOIN in UPDATE OUTPUT in una query t-sql
- 16. Multipli INNER JOIN è troppo lento SQL SERVER
- 17. Come avere SQL INNER JOIN accettare i risultati nulli
- 18. Utilizzare "by-argument" in "outer" data.table per filtrare "inner" data.table
- 19. Utilizzare collect_list e collect_set in Spark SQL
- 20. Utilizzando GROUP BY e ORDER BY in una query SQL INNER JOIN
- 21. INNER JOIN same table
- 22. -moz-focus-inner
- 23. MySQL Inner Join Aggiornamento
- 24. MySQL INNER JOIN Alias
- 25. Python Pandas inner join
- 26. MySql INNER JOIN con clausola WHERE
- 27. Come entrare nello sviluppo di Oracle?
- 28. protected Inner Classes
- 29. C# Linq Inner Join
- 30. INNER JOIN Distinto ID
E in generale penso che se scriveste "USING" la maggior parte della lettura di ciò che avete scritto dovrebbe cercare la definizione della parola chiave. – briantyler
Anche nell'articolo, la colonna unita con 'USING' apparirà una sola volta nel set di risultati, anziché due (una per ogni tabella) – Davy8