UNION łącz wyniki ! – podstawy SQL
Union – wstęp
Słowo kluczowe lub operator zestawu UNION pozwala łączyć wyniki dwóch zapytań. Usuwa wszelkie zduplikowane wyniki i pokazuje kombinację obu.
Wyrażony jako diagram, gdzie każde koło reprezentuje wynik zapytania, wygląda następująco:
Zobaczmy przykład oparty na przykładowych danych powyżej. Gdybyśmy chcieli wybrać zarówno tabelę pracownika, jak i klienta, używając UNION, nasze zapytanie wyglądałoby następująco:
1 2 3 4 5 |
SELECT first_name, last_name FROM customer UNION SELECT first_name, last_name FROM employee; |
To pokazuje nam wszystkie dane klientów i pracowników.
Patrząc na to, nie możemy stwierdzić, który rekord pochodzi z każdej tabeli. Często nie musimy tego wiedzieć, ale czasem tak jest.
Jak możemy to zrobić? Do każdej kwerendy możemy dodać wartość statyczną, aby wskazać, z której tabeli pochodzi lub jaki jest typ rekordu. Dopóki liczba i typ kolumn są zgodne, zapytanie będzie działać.
1 2 3 4 5 |
SELECT ‘Customer’ AS record_type, first_name, last_name FROM customer UNION SELECT ‘Employee’ first_name, last_name FROM employee; |
Jaka jest różnica między Union a JOIN ?
Słowa kluczowe UNION i JOIN łączą wyniki z dwóch różnych tabel lub zapytań. Różnica polega na tym, jak są one łączone. UNION łączy dane w osobne rzędy, a JOIN łączy dane w osobne kolumny.
Kiedy używamy JOIN wygląda to tak:
1 2 3 4 5 6 7 8 9 10 11 |
SELECT e.emp_id, e.first_name, e.last_name, c.customer_id, c.first_name, c.last_name FROM employee e INNER JOIN customer c ON e.first_name = c.first_name AND e.last_name = c.last_name; |
Przydatne strony
Jeśli chcesz poćwiczyć lub poczytać o SQL zapraszam do:
Na blogu polecam materiały z baz danych:
- Złączenia JOIN – Pojmij podstawy SQL !- zobacz
- Użycie GROUP BY – SQL– zobacz
- Klucze baz danych – całkowity przewodnik– zobacz
- Lista umiejętności Inżyniera danych (Data engineer)– zobacz
- Projektowanie bazy danych według zasady DRY– zobacz
Zapraszam do polubienia fanpage Facebook “Umiejętności miękkie w IT”
Ostatecznie w zamian za dostarczoną treść, proszę więcej uśmiechu w cyfrowym świecie! 😉