SQL UNION och UNION ALL-operatorn
- Föregående sida SQL Full Join
- Nästa sida SQL Select Into
SQL UNION-operatorn
UNION-operatorn används för att sammanfoga resultatuppsättningar från två eller flera SELECT-satser.
Vänligen notera att SELECT-satsen inom UNION måste ha samma antal kolumner. Kolumner måste också ha liknande datatyper. Dessutom måste kolumnordningen vara densamma i varje SELECT-sats.
SQL UNION-syntaks
SELECT column_name(s) FROM table_name1 UNION SELECT column_name(s) FROM table_name2
Kommentar:Som standard väljer UNION-operatören olika värden. Om upprepade värden är tillåtna, använd UNION ALL.
SQL UNION ALL-syntaks
SELECT column_name(s) FROM table_name1 UNION ALL SELECT column_name(s) FROM table_name2
Dessutom är kolumnnamnen i UNION-resultatet alltid lika med kolumnnamnen i det första SELECT-uttrycket i UNION.
Följande exempel använder ursprungliga 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 |
Använd UNION-kommandot
Exempel
Listar alla olika anställda namn i Kina och 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 |
Kommentar:Detta kommando kan inte lista alla anställda i Kina och USA. I det tidigare exemplet har vi två anställda med samma namn, och bara en av dem listades. UNION-kommandot väljer bara olika värden.
UNION ALL
UNION ALL-kommandot och UNION-kommandot är nästan lika, men UNION ALL-kommandot listar alla värden.
SQL Statement 1 UNION ALL SQL Statement 2
Använd UNION ALL-kommandot
Exempel:
Listar alla anställda i Kina och 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 |
- Föregående sida SQL Full Join
- Nästa sida SQL Select Into