Obsługując dane w bazach danych, często używamy operatorów zbiorów w SQL , aby pobrać dane zgodnie z naszymi wymaganiami, łącząc dwie lub więcej instrukcji SELECT. W tym artykule o SQL UNION omówię operator UNION używany do pobierania danych w następującej kolejności:
Zaczynajmy!
Co to jest operator SQL UNION?
Jak sama nazwa wskazuje, ten operator / klauzula służy do łączenia wyników dwóch lub więcej instrukcji SELECT. Tutaj każda instrukcja SELECT używana w instrukcji UNION musi mieć taką samą liczbę kolumn w tej samej kolejności. Ponadto wszystkie kolumny obecne w instrukcjach SELECT muszą mieć podobne typy danych.
Klauzula UNION podaje tylko unikalne wartości jako dane wyjściowe. Na wszelki wypadek chcesz zduplikowanych wartości, musisz użyć klauzuli UNION ALL.
Przechodząc dalej w tym artykule o SQL UNION, pozwól nam zrozumieć składnię.
w puli stałych łańcuchów nie będzie dwóch obiektów typu string o tej samej zawartości.
Składnia SQL UNION
Składnia UNION
SELECT Column1, Column2, Column3, ..., ColumnN FROM Table1 UNION SELECT Column1, Column2, Column3, ..., ColumnN FROM Table2
Składnia UNION ALL
SELECT Column1, Column2, Column3, ..., ColumnN FROM Table1 UNION ALL SELECT Column1, Column2, Column3, ..., ColumnN FROM Table2
Przechodząc dalej w tym artykule, pozwól nam zrozumieć różnice między UNION a UNION ALL.
Różnice między SQL UNION i UNION ALL
UNIA | UNIA WSZYSTKO |
Łączy dwa lub więcej zestawów wyników i nie zachowuje zduplikowanych wartości. | Łączy dwa lub więcej zestawów wyników i zachowuje zduplikowane wartości. |
Składnia: UNIA | Składnia: UNIA WSZYSTKO |
![]() |
Następnie w tym artykule na temat SQL UNION pozwól nam zrozumieć różne sposoby korzystania z tego operatora.
Przykłady SQL UNION i UNION ALL
Dla lepszego zrozumienia rozważę poniższe tabele, aby pokazać różne przykłady.
Tabela pracowników
EmpID | Nazwa | EmpAge | Miasto | Kod pocztowy | Kraj |
jeden | Emma | 2. 3 | Berlin | 12109 | Niemcy |
2 | Rahul | 26 | Bombaj | 400015 | Indie |
3 | Aayra | 24 | Nowy Jork | 10014 | ZASTOSOWANIA |
4 | Jan | 32 | Londyn | E1 7AE | UK |
5 | Derek | 29 | Nowy Jork | 10012 | ZASTOSOWANIA |
Tabela projektów
ProjectID | Nazwa | Dni robocze | Miasto | Kod pocztowy | Kraj |
jeden | Projekt 1 | 10 | Berlin | 12109 | Niemcy |
2 | Projekt 2 | 7 | Bombaj | 400015 | Indie |
3 | Projekt 3 | dwadzieścia | Delhi | 110006 | Indie |
4 | Projekt 4 | piętnaście | Bombaj | 400015 | Indie |
5 | Projekt 5 | 28 | Berlin | 12109 | Niemcy |
Zacznijmy od przykładów.
Przykłady SQL UNION
Przykład operatora UNION
Napisz zapytanie, aby pobrać różne miasta z tabeli Pracownicy i projekty.
WYBIERZ miasto od pracowników UNIA WYBIERZ miasto z projektów KOLEJNOŚĆ WEDŁUG MIAST
Wynik:
Miasto |
Berlin |
Delhi |
Londyn |
Bombaj |
Nowy Jork |
Przykład operatora UNION ALL
Napisz zapytanie, aby pobrać miasta z tabeli Pracownicy i projekty. Tutaj należy uwzględnić zduplikowane wartości.
WYBIERZ miasto Z UNII pracowników WSZYSTKIE WYBIERZ miasto z projektów KOLEJNOŚĆ WEDŁUG MIAST
Wynik:
Miasto |
Berlin |
Berlin |
Berlin |
Delhi |
Londyn |
Bombaj |
Bombaj |
Bombaj |
Nowy Jork |
Nowy Jork |
W dalszej części tego artykułu wyjaśnijmy, jak używać klauzuli UNION z aliasami SQL.
UNION z aliasami SQL
Używane są aliasy SQLaby nadać tabeli lub kolumnie tymczasową nazwę. Napiszmy więc zapytanie, aby wyświetlić wszystkich unikalnych pracowników i projekty.
WYBIERZ 'Pracownik' JAKO Typ, Imię, Miasto, Kraj Z Pracowników UNIA WYBIERZ 'Projekt', Imię, Miasto, Kraj Z Projektów
Wynik:
Rodzaj | Nazwa | Miasto | Kraj |
Pracownik | Emma | Berlin | Niemcy |
Pracownik | Rahul | Bombaj | Indie |
Pracownik | Aayra | Nowy Jork | ZASTOSOWANIA |
Pracownik | Jan | Londyn | UK |
Pracownik | Derek | Nowy Jork | ZASTOSOWANIA |
Projekt | Projekt 1 | Berlin | Niemcy |
Projekt | Projekt 2 | Bombaj | Indie |
Projekt | Projekt 3 | Delhi | Indie |
Projekt | Projekt 4 | Bombaj | Indie |
Projekt | Projekt 5 | Berlin | Niemcy |
UNION z klauzulą WHERE
Napisz zapytanie, aby pobrać poszczególne miasta Indii i ich kody pocztowe z tabeli Pracownicy i Projekty.
WYBIERZ miasto, kod pocztowy, kraj FROM Employees WHERE Country = 'India' UNION SELECT City, PostalCode, Country FROM Projects WHERE Country = 'India' ORDER BY City
Wynik:
Miasto | Kod pocztowy | Kraj |
Delhi | 110006 | Indie |
Bombaj | 400015 | Indie |
UNION ALL z klauzulą WHERE
Napisz zapytanie, aby pobrać indyjskie miasta i ich kody pocztowe z tabeli Pracownicy i Projekty, w której zduplikowane wartości są dozwolone
WYBIERZ miasto, kod pocztowy, kraj OD pracowników WHERE Kraj = 'Indie' UNIA WSZYSTKO WYBIERZ miasto, kod pocztowy, kraj Z projektów GDZIE Kraj = 'Indie' ZAMÓW WEDŁUG MIASTA
Wynik:
Miasto | Kod pocztowy | Kraj |
Delhi | 110006 | Indie |
Bombaj | 400015 | Indie |
Bombaj | 400015 | Indie |
Bombaj | 400015 | Indie |
Przechodząc dalej w tym artykule, pozwól nam zrozumieć, jak używać klauzul UNION i UNION ALL z JOINS.POŁĄCZENIA w SQL są które są używane do łączenia wierszy z dwóch lub więcej tabel na podstawie powiązanej kolumny między tymi tabelami.
UNIA z JOINS
Operator SQL UNION może być używany z do pobierania danych z dwóch różnych tabel. W przykładzie rozważę poniższą tabelę wraz z tabelą Pracownicy.
jak używać przycinania w java
Tabela ProjectDetails
PID | Dni robocze | EmpID | CostforProject |
jedenaście | 12 | 4 | 20000 |
22 | 16 | 3 | 35000 |
33 | 30 | jeden | 60000 |
44 | 25 | 3 | 45000 |
55 | dwadzieścia jeden | jeden | 50 000 |
SELECT EmpID, Name, CostforProject FROM Employees LEFT JOIN ProjectDetails ON Employees.EmpID = ProjectDetails.EmpID UNION SELECT EmpID, Name, CostforProject FROM Employees RIGHT JOIN ProjectDetails ON Employees.EmpID = ProjectDetails.EmpID
Wynik:
EmpID | Nazwa | CostforProject |
jeden | Emma | 60000 |
jeden | Emma | 50 000 |
2 | Rahul | ZERO |
3 | Aayra | 35000 |
3 | Aayra | 45000 |
4 | Jan | 20000 |
5 | Derek | ZERO |
UNION WSZYSTKO Z POŁĄCZENIAMI
Napisz zapytanie, aby pobrać EmpID, Name i CostforProject z tabeli Employees i ProjectDetails, w której dozwolone są zduplikowane wartości.
SELECT EmpID, Name, CostforProject FROM Employees LEFT JOIN ProjectDetails ON Employees.EmpID = ProjectDetails.EmpID UNION ALL SELECT EmpID, Name, CostforProject FROM Employees RIGHT JOIN ProjectDetails ON Employees.EmpID = ProjectDetails.EmpID
Wynik:
EmpID | Nazwa | CostforProject |
jeden | Emma | 60000 |
jeden | Emma | 50 000 |
2 | Rahul | ZERO |
3 | Aayra | 35000 |
3 | Aayra | 45000 |
4 | Jan | 20000 |
5 | Derek | ZERO |
4 | Jan | 20000 |
3 | Aayra | 35000 |
jeden | Emma | 60000 |
3 | Aayra | 35000 |
jeden | Emma | 50 000 |
W ten sposób dochodzę do końca tego artykułu o SQL UNION. Mam nadzieję, że podobał Ci się ten artykuł o SQL UNION. Widzieliśmy różne sposoby użycia poleceń UNION i UNION ALL, które pomagają w pisaniu zapytań. Jeśli chcesz dowiedzieć się więcej o MySQL i poznaj tę relacyjną bazę danych typu open source, a następnie sprawdź naszą który obejmuje szkolenie na żywo prowadzone przez instruktora i rzeczywiste doświadczenie projektowe. To szkolenie pomoże Ci dogłębnie zrozumieć MySQL i osiągnąć mistrzostwo w tym temacie.
Masz do nas pytanie? Wspomnij o tym w sekcji komentarzy w „SQL UNION”, a skontaktuję się z Tobą.