Join mit "Using"

Kampfgummibaerlie

Datenbank-Guru
Beiträge
746
Hier mein Beispiel:

Erstellen und Werte einfügen:
Code:
create table eins(id integer);
create table zwei(id integer, val text);
insert into eins values (1);
insert into zwei values (1, 'Text');

Jetzt meine Frage:
Ist da irgendein Unterschied zwischen den zwei Abfragen?

Code:
select val from zwei join eins using(id);
(Ausführungsdauer 403,8ms bei 5 Ausführungen im @)

und

Code:
select val from zwei inner join eins on (eins.id = zwei.id);
(Ausführungsdauer 389,8ms bei 5 Ausführungen im @)

?

Danke für Rückmeldungen ;)

EDIT:
Frage vergessen, hat "Using" irgendeinen Sinn? oder ist es einfach nur historisch vor dem "On" geschichtlich entstanden und existiert noch?

LG Baerlie :D
 
Werbung:
Die unterschiedlichen Zeiten sind vermutlich auf caching oder andere Effekte zurückzuführen. Ich bin mir sicher, dass der Execution Plan in beiden Fällen zu 100% identisch ist.

Ich bin kein Fan von USING, aber einen Vorteil hat es: die Spalte die für den Join verwendet wird, taucht im Resultat nur einmal auf:

Code:
select *
from eins
  join zwei using (id);
  
id | val 
---+-----
 1 | Text

select *
from eins
  join zwei on eins.id = zwei.id;

id | id | val 
---+----+-----
 1 |  1 | Text
 
Zurück
Oben