Nehmen wir an, Sie haben zwei Tabellen Lehrer & Studenten
Beide haben 4 Spalte mit anderem Namen wie diese
Teacher - ID(int), Name(varchar(50)), Address(varchar(50)), PositionID(varchar(50))
![enter image description here]()
Student- ID(int), Name(varchar(50)), Email(varchar(50)), PositionID(int)
![enter image description here]()
Sie können UNION oder UNION ALL für die beiden Tabellen anwenden, die die gleiche Anzahl von Spalten haben. Aber sie haben unterschiedliche Namen oder Datentypen.
Wenn Sie sich bewerben UNION
Operation auf 2 Tabellen, werden alle doppelten Einträge vernachlässigt (alle Spaltenwerte einer Zeile in einer Tabelle sind die gleichen wie in einer anderen Tabelle). Wie dies
SELECT * FROM Student
UNION
SELECT * FROM Teacher
wird das Ergebnis sein
![enter image description here]()
Wenn Sie sich bewerben UNION ALL
Operation auf 2 Tabellen, gibt sie alle Einträge mit Duplikaten zurück (wenn es einen Unterschied zwischen einem Spaltenwert einer Zeile in 2 Tabellen gibt). Wie dies
SELECT * FROM Student
UNION ALL
SELECT * FROM Teacher
Ausgabe ![enter image description here]()
Leistung:
Offensichtlich UNION ALL die Leistung ist besser als UNION da sie zusätzlich die Aufgabe haben, die doppelten Werte zu entfernen. Sie können dies überprüfen unter Ausführung Geschätzte Zeit durch die Presse Strg+L unter MSSQL
1 Stimmen
w3schools.com/sql/sql_union.asp
1 Stimmen
Union all enthält alle ids in der linken und rechten tabelle. wobei union eindeutige ids in der linken und rechten tabelle enthält. union all erlaubt doppelte ids. union funktioniert wie set in python und erzeugt eindeutige ids