Korzystanie z operatorów zbioru Oracle (Union, Union All, Intersect i Minus/Except)
Operatorów zestawów Oracle można używać do wybierania danych z wielu tabel. Łączą wyniki dwóch lub więcej zapytań. Podczas korzystania z operatorów zestawów
a) Każda klauzula SELECT musi mieć taką samą liczbę kolumn
b) Kolumna musi mieć ten sam typ danych
c) Kolumna powinna być określona w tej samej kolejności we wszystkich klauzulach select.
Istnieją 4 operatory zestawów:
ZWIĄZEK | Zwraca wszystkie unikalne wiersze zwrócone z obu zapytań |
ZŁĄCZ WSZYSTKIE | Zwraca wszystkie wiersze, w tym duplikaty |
PRZECIĘCIE | Zwraca tylko wiersze zwrócone z obu zapytań |
MINUS | Zwraca unikalne wiersze wybrane przez pierwsze zapytanie, ale nie wiersze wybrane z drugiego zapytania |
Operator Unii Oracle:
Operator Oracle Union służy do łączenia zestawów wyników dwóch lub więcej instrukcji SELECT. Łączy oba zestawy wyników instrukcji SELECT i usuwa zduplikowane wiersze między nimi. Tak więc zasadniczo zwraca różne wiersze
WYBIERZ nazwę miasta FROM CUST_DATAUNION
SELECT nazwa_miasta FROM SUPP_DATA;
To zapytanie zwróci różne wiersze miast z „Cust_data” i „Supp_data”
Oracle Union Wszystkie
Operator Oracle Union All służy do łączenia zestawów wyników dwóch lub więcej instrukcji SELECT. Łączy oba zestawy wyników instrukcji SELECT i zwraca w obecnej postaci. Może więc zawierać duplikaty również w zależności od zestawu danych
SELECT city_name FROM CUST_DATA
UNION All
SELECT city_name FROM SUPP_DATA
;
To zapytanie zwróci wszystkie wiersze (również zduplikowane wiersze) miast z „Cust_data” i „Supp_data”
Różnica między Union i Union All w Oracle
Union zwraca różne wiersze, a funkcja Union all zwraca wszystkie wiersze. Dlatego musimy być bardzo ostrożni przy wyborze tych operatorów zestawu
Przecięcie Oracle
Operator Oracle Intersect służy do łączenia zestawów wyników dwóch lub więcej instrukcji SELECT. Łączy oba zestawy danych instrukcji SELECT i zwraca różne wspólne wiersze między instrukcjami. Jeśli więc rekord istnieje w jednym zapytaniu, a nie w drugim, zostanie pominięty w wynikach INTERSECT.
Wyniki są pokazane jako zacieniona część na powyższym rysunku
SELECT city_name FROM CUST_DATA
INTERSECT
SELECT city_name FROM SUPP_DATA
;
To zapytanie zwróci wspólną nazwę miasta z „Cust_data” i „Supp_data”
Różnica między przecięciem a połączeniem
1) Operator INTERSECT służy do pobierania wspólnych rekordów z obu klauzuli select operatora Intersect, podczas gdy Join służy do pobierania danych z dwóch tabel na podstawie określonego warunku
2) INTERSECT wykonuje porównanie dla wszystkich kolumn, podczas gdy INNER JOIN tylko określone kolumny.
3) Operator INTERSECT wielokrotnie zwraca prawie takie same wyniki jak klauzula INNER JOIN.
Wyrocznia minus
Operator minus Sql służy do łączenia zestawów wyników dwóch lub większej liczby instrukcji SELECT. Łączy ona obie instrukcje SELECT i zwraca wiersze wybrane z pierwszej instrukcji SELECT, a następnie usuwa ze zbioru danych wszystkie wiersze pobrane z drugiej instrukcji SELECT
Wyniki są pokazane jako zacieniona część na powyższym rysunku
SELECT city_name FROM CUST_DATA
MINUS
SELECT city_name FROM SUPP_DATA
;
To zapytanie zwróci nazwę miasta z „Cust_data” minus nazwę miasta „Supp_data”
Tutaj, ponieważ wszystkie dane zwrócone z instrukcji select są takie same, nie wygenerowały żadnych wierszy.
Wstawmy jeden inny wiersz w cust_data i zobaczmy wyniki
Teraz zobaczmy, czy wykonamy minus cust_data z supp_data
SELECT city_name FROM SUPP_DATA
MINUS
SELECT city_name FROM CUST_DATA
;
Nie pomniejszamy operatora w wielu RDBMS, takich jak serwer sql, mysql. Tam używamy z wyjątkiem zamiast minusa i ma taką samą funkcjonalność jak minus
Te wszystkie operatory zestawu sql są ważne dla RDBMS używanych w Market, takich jak Oracle, mysql, sql server, Postgres, Teradata
Powiązane artykuły
usuń zduplikowane rekordy w Oracle :Wskazówki i sposoby usuwania zduplikowanych wierszy z tabeli Oracle . Dostępne są różne opcje usuwania zduplikowanych wierszy bez żadnych problemów.
Samouczki Oracle Sql :Zawiera listę wszystkich przydatnych artykułów Oracle sql. Poznaj je, aby dowiedzieć się o Oracle Sql, nawet jeśli znasz Oracle Sql
Pytania do rozmowy kwalifikacyjnej Oracle:Sprawdź tę stronę, aby uzyskać 49 najważniejszych pytań i odpowiedzi dotyczących Oracle do wywiadów:Podstawy, Oracle SQL, aby pomóc Ci w rozmowach kwalifikacyjnych.Dostarczono również dodatkowe materiały
Klauzula where w Oracle :Ograniczanie zbioru danych, klauzula where, klauzula where w instrukcji sql, funkcje jednowierszowe operatora porównania
w Oracle :Sprawdź to, aby dowiedzieć się, jak funkcje jednowierszowe w sql, dane Oracle funkcje,Funkcje numeryczne w sql ,Funkcja znakowa w sql