Brug af Oracle Set Operators (Union, Union All, Intersect og Minus/Except)
Oracle Set-operatorer kan bruges til at vælge data fra flere tabeller. De kombinerer resultaterne af to eller flere forespørgsler. Når du bruger Set-operatorerne
a) Hver SELECT-sætning skal have samme antal kolonner
b) Kolonnen skal være af samme datatype
c) Kolonne skal angives i samme rækkefølge i alle udvalgte klausuler.
Der er 4 sæt operatorer:
UNION | Det returnerer alle unikke rækker returneret fra begge forespørgsler |
UNION ALLE | Det returnerer alle rækker inklusive dubletter |
SKRYDNING | Det returnerer kun de rækker, der returneres fra begge forespørgsler |
MINUS | Det returnerer unikke rækker valgt af første forespørgsel, men ikke rækkerne valgt fra anden forespørgsel |
Oracle Union Operatør:
Oracle Union-operatøren bruges til at kombinere resultatsættene af to eller flere SELECT-sætninger. Det kombinerer begge SELECT-sætningsresultatsæt og fjerner duplikerede rækker mellem dem. Så det returnerer grundlæggende de adskilte rækker
VÆLG bynavn FRA CUST_DATAUNION
VÆLG bynavn FRA SUPP_DATA;
Denne forespørgsel returnerer forskellige rækker af byer fra "Cust_data" og "Supp_data"
Oracle Union All
Oracle Union All-operatoren bruges til at kombinere resultatsættene af to eller flere SELECT-sætninger. Den kombinerer begge SELECT-sætningsresultatsæt og returnering, som den er. Så det kan indeholde duplikat også afhængigt af datasættet
SELECT city_name FROM CUST_DATA
UNION All
SELECT city_name FROM SUPP_DATA
;
Denne forespørgsel returnerer alle rækker (også dublerede rækker) af byer fra "Cust_data" og "Supp_data"
Forskel mellem Union og Union All i Oracle
Union returnerer de adskilte rækker, mens Union alle returnerer alle rækkerne. Så vi skal være meget forsigtige, når vi vælger disse sæt operatører
Oracle Intersect
Oracle Intersect-operatoren bruges til at kombinere resultatsættene af to eller flere SELECT-sætninger. Den kombinerer begge SELECT-sætningsdatasæt og returnerer de distinkte fælles rækker mellem sætningerne. Så hvis der findes en post i den ene forespørgsel og ikke i den anden, vil den blive udeladt fra INTERSECT-resultaterne.
Resultaterne er vist med den skraverede del i ovenstående figur
SELECT city_name FROM CUST_DATA
INTERSECT
SELECT city_name FROM SUPP_DATA
;
Denne forespørgsel returnerer almindeligt bynavn fra "Cust_data" og "Supp_data"
Forskel mellem Intersect og Join
1) INTERSECT-operator bruges til at hente de fælles poster fra både select-klausulen i Intersect Operator, hvorimod Join bruges til at hente data fra to tabeller baseret på specificeret tilstand
2) INTERSECT foretager sammenligningen for alle kolonner, mens INNER JOIN kun de angivne kolonner.
3) INTERSECT-operatoren returnerer næsten samme resultater som INNER JOIN-sætning mange gange.
Oracle Minus
Sql minus operator bruges til at kombinere resultatsættene af to eller flere SELECT-sætninger. Den kombinerer både SELECT-sætningen og returnerer rækkerne, som er valgt fra den første select-sætning, og fjerner derefter fra datasættet alle rækkerne, der er hentet fra den anden select-sætning
Resultaterne er vist med den skraverede del i ovenstående figur
SELECT city_name FROM CUST_DATA
MINUS
SELECT city_name FROM SUPP_DATA
;
Denne forespørgsel returnerer bynavn fra "Cust_data" minus bynavnet "Supp_data"
Da alle data, der returneres fra select-sætningen, er de samme, genererede det ingen rækker.
Lad os indsætte en anden række i cust_data og se resultaterne
Lad os nu se, om vi laver minus af cust_data fra supp_data
SELECT city_name FROM SUPP_DATA
MINUS
SELECT city_name FROM CUST_DATA
;
Vi har ikke minus operator i Mange RDBMS som sql server, mysql. Der bruger vi undtagen i stedet for minus, og den har samme funktionalitet som minus
Disse alle sql-sæt-operatorer er gyldige for RDBMS, der bruges i Market som Oracle, mysql, sql-server, Postgres, Teradata
Relaterede artikler
slet dublerede poster i Oracle :Tips og måder til, hvordan du sletter duplikerede rækker fra Oracle-tabellen . Forskellige muligheder er givet for at slette de duplikerede rækker uden problemer
Oracle Sql tutorials:Indeholder listen over alle de nyttige Oracle sql artikler. Udforsk dem for at lære om Oracle SQL, selvom du kender Oracle SQL
Oracle-interviewspørgsmål :Tjek denne side for de 49 bedste Oracle-interviewspørgsmål og -svar:Grundlæggende , Oracle SQL for at hjælpe dig i interviews.Der findes også yderligere materiale
where-sætning i Oracle :Begrænsning af datasættet, where-sætning, hvad er where-sætning i sql-sætning, sammenligningsoperatørens
enkeltrække-funktioner i Oracle:Tjek dette for at finde ud af Enkeltrække-funktioner i sql, Oracle-data funktioner, numeriske funktioner i sql, tegnfunktion i sql