KWALIFIKACJA INF3 - STYCZEŃ 2023

PYTANIE NR 19.
Za pomocą którego słowa kluczowego można połączyć wyniki wykonania dwóch kwerend SELECT, działających na różnych tabelach, w jeden zbiór wyników?
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Słowo kluczowe UNION służy do połączenia wyników dwóch (lub więcej) zapytań SELECT w jeden zbiór wyników. Działa jak suma zbiorów: w typowym wariancie usuwa duplikaty. JOIN łączy tabele w wiersze, DISTINCT usuwa powtórzenia w jednym SELECT, a AS nadaje alias.

Pełne wyjaśnienie:

Poprawną odpowiedzią jest UNION, ponieważ to operator zbiorów, który scala wyniki dwóch zapytań SELECT w jeden wspólny wynik. Stosuje się go, gdy chcesz "dokleić" do siebie rekordy zwracane przez dwa SELECT-y (np. z różnych tabel), a nie zestawiać kolumn z dwóch tabel w jednym wierszu.

W praktyce oba zapytania połączone przez UNION muszą zwracać zgodną liczbę kolumn oraz zgodne (lub kompatybilne) typy danych w odpowiadających sobie kolumnach. Standardowo UNION usuwa duplikaty w wyniku końcowym; jeśli chcesz zachować wszystkie wiersze, używa się wariantu UNION ALL.

Dlaczego pozostałe odpowiedzi są niepoprawne?

  • DISTINCT nie łączy dwóch zapytań. To modyfikator pojedynczego SELECT, który usuwa powtarzające się wiersze (lub kombinacje wartości) w obrębie jednego wyniku.
  • JOIN służy do łączenia tabel w ramach jednego zapytania na podstawie warunku złączenia. JOIN tworzy wynik przez dopasowanie wierszy (relacje między tabelami), a nie przez "doklejenie" jednego zestawu wierszy pod drugi.
  • AS nadaje alias kolumnie lub tabeli (ułatwia czytelność i odwołania), ale nie jest operatorem do łączenia wyników wielu SELECT-ów w jeden zbiór.

Wskazówka egzaminacyjna: jeśli w treści jest mowa o "połączeniu wyników dwóch kwerend SELECT w jeden zbiór", myśl o operatorach zbiorów (UNION). Jeśli mowa o łączeniu danych "z dwóch tabel w jednym wierszu", wtedy zwykle chodzi o JOIN.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
UNION to operator zbiorów, który łączy wyniki dwóch zapytań SELECT w jeden wynik końcowy. Używa się go, gdy oba SELECT-y zwracają taki sam układ kolumn. Domyślnie usuwa duplikaty wierszy w wyniku.
Zapytania po obu stronach UNION muszą zwracać tę samą liczbę kolumn oraz kolumny o zgodnych typach danych na odpowiadających pozycjach. Nazwy kolumn w wyniku są zwykle brane z pierwszego SELECT.
UNION usuwa powtarzające się wiersze w wyniku końcowym, a UNION ALL pozostawia wszystkie wiersze, łącznie z duplikatami. UNION ALL bywa szybszy, bo nie wymaga eliminacji powtórzeń.
JOIN łączy tabele "w poprzek" na podstawie warunku dopasowania (tworzy wiersze z kolumnami z wielu tabel). Pytanie dotyczy łączenia wyników dwóch SELECT w jeden zbiór "w dół", co realizuje operator UNION.
DISTINCT usuwa duplikaty w obrębie wyniku jednego zapytania SELECT. Stosuje się go, gdy chcesz dostać unikalne wiersze (lub unikalne kombinacje wartości kolumn), ale nie służy on do łączenia wyników dwóch kwerend.
AS nadaje alias (tymczasową nazwę) kolumnie lub tabeli, np. dla czytelności lub skrócenia odwołań. Nie wpływa na łączenie zbiorów wyników. To element składni związany z nazwami, a nie z operacjami zbiorów.
Jeśli w treści widzisz "połączyć wyniki dwóch zapytań SELECT w jeden zbiór wyników", chodzi o operator zbiorów (UNION). Gdy mowa o łączeniu danych z tabel według relacji/kluczy w jednym wierszu, zwykle chodzi o JOIN.
Nie. UNION może łączyć wyniki SELECT-ów z różnych tabel, z tej samej tabeli, z widoków, a nawet z podzapytań. Kluczowe jest to, aby oba zapytania zwracały zgodny zestaw kolumn (liczba i typy).
UNION bywa użyteczny, gdy dane są rozdzielone logicznie (np. archiwum i bieżące rekordy) lub pochodzą z różnych encji, ale chcesz je wyświetlić w jednym raporcie. Długofalowo często warto rozważyć normalizację i spójny model danych.
Najczęstsze pomyłki to wybór JOIN zamiast UNION, brak świadomości wymogu zgodnej liczby kolumn oraz mylenie DISTINCT (unikaty w jednym SELECT) z usuwaniem duplikatów w UNION. Warto też pamiętać o różnicy UNION vs UNION ALL.
info

To pytanie poprawnie rozwiązuje 67% zdających egzamin. średnie

Specjaliści zwracają uwagę: "Słowo kluczowe UNION służy do połączenia wyników dwóch (lub więcej) zapytań SELECT w jeden zbiór wyników."

Źródła:

  • PostgreSQL Documentation: Queries - Combining Queries (UNION, INTERSECT, EXCEPT), https://www.postgresql.org/docs/current/queries-union.html - accessed 2026-02-27
  • MySQL 8.0 Reference Manual: UNION Syntax, https://dev.mysql.com/doc/refman/8.0/en/union.html - accessed 2026-02-27
  • Microsoft Learn: SQL Server - Set Operators (UNION, INTERSECT, EXCEPT), https://learn.microsoft.com/en-us/sql/t-sql/language-elements/set-operators-union-intersect-except-transact-sql - accessed 2026-02-27

Materiały:

  • Dokumentacja bazy danych używanej na zajęciach (sekcja o UNION/UNION ALL)
  • Materiały dydaktyczne z podstaw relacyjnych baz danych: operatory zbiorów vs złączenia
  • Ćwiczenia: porównanie wyników dla UNION, UNION ALL oraz JOIN na prostych tabelach

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego