moin Vinzenz,
das ist ausnahmsweise nicht erforderlich, weil - wie im Thema (doppelte distinct) steht - nur die Listen der Städte und Autos gewünscht sind und daher doppelte Einträge nicht gewünscht sind. Die Spalte "Typ" sorgt dafür, dass kein gewünschter Datensatz (Autoname = Stadtname) verloren gehen kann.
bedinkt, der typ sorgt dafür, dass es keine doppelten gibt zwischen autos und städte, die durch UNION gefiltert würden. aber das dbms prüft es dennoch und das ist nicht notwendig weil es einfach unnötig mehr last erzeugt. sprich UNION ALL ist schon die richtige wahl, auch wenn du recht hast, in dem speziellen fall sollten die ergebnismengen gleich sein. des weiteren besteht auch die latente gefahr, dass man den Typ weg nimmt und es dann zu den problemen kommen kann. wie auh immer, in dem fall ist UNION ALL das richtige, weil es dabei nie zu problemen kommt und es performanter ist.
Ilja