SQL UNION og UNION ALL-operatorer
- Forrige side SQL Full Join
- Næste side SQL Select Into
SQL UNION-operatoren
UNION-operatoren bruges til at kombinere resultaterne af to eller flere SELECT-sætninger.
Bemærk venligst, SELECT-sætningen inde i UNION skal have samme antal kolonner. Kolonnerne skal også have lignende datatyper. Samtidig skal rækkefølgen af kolonnerne i hver SELECT-sætning være den samme.
SQL UNION syntaks
SELECT column_name(s) FROM table_name1 UNION SELECT column_name(s) FROM table_name2
Bemærk:Standardmæssigt vælger UNION-operatoren forskellige værdier. Hvis gentagne værdier er tilladt, skal du bruge UNION ALL.
SQL UNION ALL syntaks
SELECT column_name(s) FROM table_name1 UNION ALL SELECT column_name(s) FROM table_name2
Desuden er kolonnenavne i UNION-resultatet altid ens med kolonnenavne i den første SELECT-sætning i UNION.
Følgende eksempel bruger de oprindelige tabeller:
Employees_China:
E_ID | E_Name |
---|---|
01 | Zhang, Hua |
02 | Wang, Wei |
03 | Carter, Thomas |
04 | Yang, Ming |
Employees_USA:
E_ID | E_Name |
---|---|
01 | Adams, John |
02 | Bush, George |
03 | Carter, Thomas |
04 | Gates, Bill |
Brug UNION-kommandoen
Eksempel
Oplist alle forskellige ansatte i Kina og USA:
SELECT E_Name FROM Employees_China UNION SELECT E_Name FROM Employees_USA
Resultat
E_Name |
---|
Zhang, Hua |
Wang, Wei |
Carter, Thomas |
Yang, Ming |
Adams, John |
Bush, George |
Gates, Bill |
Bemærk:Denne kommando kan ikke liste alle ansatte i Kina og USA. I det ovenstående eksempel har vi to medarbejdere med samme navn, og kun én af dem blev listet. UNION-kommandoen vælger kun forskellige værdier.
UNION ALL
UNION ALL-kommandoen og UNION-kommandoen er næsten ligeså effektive, men UNION ALL-kommandoen vil liste alle værdierne.
SQL Udsagn 1 UNION ALL SQL Udsagn 2
Brug UNION ALL-kommandoen
Eksempel:
Oplist alle ansatte i Kina og USA:
SELECT E_Name FROM Employees_China UNION ALL SELECT E_Name FROM Employees_USA
Resultat
E_Name |
---|
Zhang, Hua |
Wang, Wei |
Carter, Thomas |
Yang, Ming |
Adams, John |
Bush, George |
Carter, Thomas |
Gates, Bill |
- Forrige side SQL Full Join
- Næste side SQL Select Into