Przejdź do głównej treści

Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych

Zawód: Technik informatyk, Technik programista

Kategorie: Programowanie webowe Bazy danych

Słowa kluczowe: INTERSECT w SQL SELECT w SQL

Jak działa instrukcja łącząca wyniki zapytań INTERSECT w języku SQL?

A. Zwraca część wspólną wyników dwóch zapytań.
Dobrze. INTERSECT zostawia tylko wiersze obecne w wynikach obu zapytań.
B. Zwraca te wiersze, które wystąpiły w wyniku pierwszego zapytania, ale nie było ich w wyniku drugiego zapytania.
Źle. Tak działa EXCEPT, czyli różnica zbiorów.
C. Zwraca te wiersze, które wystąpiły w wyniku drugiego zapytania, ale nie było ich w wyniku pierwszego zapytania.
Źle. To również różnica zbiorów, tylko z zamienioną kolejnością zapytań.
D. Zwraca zbiór wyników z pierwszego zapytania oraz zbiór wyników z drugiego zapytania, automatycznie usuwając powtarzające się wiersze.
Źle. Tak działa UNION, czyli suma wyników z usunięciem powtórzeń.

Pytanie z egzaminu CKE, styczeń 2018 (arkusz E.14-X-18.01).

Instrukcja INTERSECT zwraca część wspólną wyników dwóch zapytań, czyli tylko wiersze obecne w obu wynikach. Oba zapytania muszą mieć tę samą liczbę kolumn i zgodne typy, bo porównywane są całe wiersze. Przykład: SELECT miasto FROM klienci INTERSECT SELECT miasto FROM dostawcy; poda miasta, w których są jednocześnie klienci i dostawcy. Do zapamiętania trzy operacje na zbiorach: UNION to suma, INTERSECT iloczyn (część wspólna), a EXCEPT różnica. MySQL obsługuje INTERSECT i EXCEPT od wersji 8.0.31; w starszych wersjach ten sam efekt daje INNER JOIN albo podzapytanie z IN. Podobnie jak UNION, operator INTERSECT domyślnie usuwa powtórzenia z wyniku.
Wszystkie opisy w tym pytaniu to prawdziwe operacje na zbiorach, tylko przypisane do innych słów kluczowych. Połączenie wyników obu zapytań z usunięciem powtórzeń to UNION - suma zbiorów, a nie ich część wspólna. Wiersze z pierwszego zapytania, których brak w drugim, zwraca EXCEPT (w Oracle MINUS), czyli różnica zbiorów. Opis odwrotny, z wierszami tylko z drugiego zapytania, to ta sama różnica z zamienioną kolejnością zapytań. INTERSECT działa jak iloczyn: zostawia wyłącznie te wiersze, które pojawiły się w obu wynikach. Pomaga skojarzenie z angielskim słowem intersection, oznaczającym skrzyżowanie - miejsce wspólne dla dwóch dróg. Analogicznie union to połączenie, a except - z wyjątkiem. W bazach bez INTERSECT część wspólną buduje się złączeniem INNER JOIN albo warunkiem WHERE kolumna IN (SELECT ...), co daje ten sam zestaw wierszy.

Wymagane logowanie

Ocenianie trudności pytań jest dostępne tylko dla zalogowanych użytkowników. Zaloguj się, aby skorzystać z pełni możliwości platformy.

Twoja ocena pomoże innym uczniom w przygotowaniu do egzaminu, a Tobie pozwoli na dostęp do spersonalizowanych statystyk.

Zgłoś błąd w pytaniu

Rozwiń sekcję i zmień pole, którego dotyczy błąd. Wysłane zostaną tylko zmienione sekcje.

Błędna kwalifikacja
Błąd w treści pytania
Błąd w treści odpowiedzi
Błąd w obrazie
Dane kontaktowe (opcjonalnie)
Podaj email, jeśli chcesz otrzymać informację o rozpatrzeniu zgłoszenia.