Använda Oracle Set Operators (Union, Union All, Intersect och Minus/Except)
Oracle Set-operatorer kan användas för att välja data från flera tabeller. De kombinerar resultaten av två eller flera frågor. När du använder Set-operatorerna
a) Varje SELECT-sats måste ha samma antal kolumner
b) Kolumnen måste vara av samma datatyp
c) Kolumn ska anges i samma ordning i alla select-satser.
Det finns 4 Set-operatorer:
UNION | Den returnerar alla unika rader som returneras från båda frågorna |
UNION ALLA | Den returnerar alla rader inklusive dubbletter |
SKÄRSA | Den returnerar endast raderna som returneras från båda frågorna |
MINUS | Den returnerar unika rader valda av den första frågan men inte raderna valda från den andra frågan |
Oracle Union Operator :
Oracle Union-operatorn används för att kombinera resultatuppsättningarna av två eller flera SELECT-satser. Den kombinerar både resultatuppsättningen SELECT-sats och tar bort dubbletter av rader mellan dem. Så den returnerar i princip de distinkta raderna
VÄLJ ortsnamn FRÅN CUST_DATAUNION
SELECT city_name FRÅN SUPP_DATA;
Den här frågan returnerar distinkta rader med städer från "Cust_data" och "Supp_data"
Oracle Union All
Oracle Union All-operatorn används för att kombinera resultatuppsättningarna av två eller flera SELECT-satser. Den kombinerar både resultatuppsättningarna för SELECT-satsen och returen som den är. Så det kan innehålla dubbletter också beroende på datamängden
SELECT city_name FROM CUST_DATA
UNION All
SELECT city_name FROM SUPP_DATA
;
Den här frågan returnerar alla rader (även dubbletter av rader) med städer från "Cust_data" och "Supp_data"
Skillnaden mellan Union och Union All i Oracle
Union returnerar de distinkta raderna medan Union alla returnerar alla rader. Så vi måste vara mycket försiktiga när vi väljer dessa setoperatorer
Oracle Intersect
Oracle Intersect-operatorn används för att kombinera resultatuppsättningarna av två eller flera SELECT-satser. Den kombinerar de båda SELECT-satsdatauppsättningarna och returnerar de distinkta vanliga raderna mellan satserna. Så om en post finns i en fråga och inte i den andra, kommer den att utelämnas från INTERSECT-resultaten.
Resultaten visas av den skuggade delen i ovanstående figur
SELECT city_name FROM CUST_DATA
INTERSECT
SELECT city_name FROM SUPP_DATA
;
Den här frågan returnerar vanligt stadsnamn från "Cust_data" och "Supp_data"
Skillnaden mellan Intersect och Join
1) INTERSECT-operatorn används för att hämta de gemensamma posterna från både select-satsen i Intersect Operator, medan Join används för att hämta data från två tabeller baserat på specificerat villkor
2) INTERSECT gör jämförelsen för alla kolumner medan INNER JOIN endast de angivna kolumnerna.
3) INTERSECT-operatorn returnerar nästan samma resultat som INNER JOIN-satsen många gånger.
Oracle Minus
Sql minusoperatorn används för att kombinera resultatuppsättningarna av två eller flera SELECT-satser. Den kombinerar både SELECT-satsen och returnerar raderna som väljs från första select-satsen och tar sedan bort från datamängden alla rader som hämtats från andra select-satsen
Resultaten visas av den skuggade delen i ovanstående figur
SELECT city_name FROM CUST_DATA
MINUS
SELECT city_name FROM SUPP_DATA
;
Den här frågan returnerar stadsnamn från "Cust_data" minus stadsnamnet "Supp_data"
Eftersom all data som returneras från select-satsen är densamma genererade den inga rader.
Låt oss infoga en annan rad i cust_data och se resultatet
Låt oss nu se om vi gör minus av cust_data från supp_data
SELECT city_name FROM SUPP_DATA
MINUS
SELECT city_name FROM CUST_DATA
;
Vi har ingen minusoperator i Många RDBMS som sql server, mysql. Där använder vi utom i stället för minus och den har samma funktionalitet som minus
Dessa alla sql-uppsättningsoperatorer är giltiga för RDBMS som används i Market som Oracle, mysql, sql-server, Postgres, Teradata
Relaterade artiklar
ta bort dubblettposter i Oracle :Tips och sätt på hur man tar bort dubblettrader från Oracle-tabellen . Olika alternativ ges för att radera dubblettraderna utan problem
Oracle SQL tutorials :Innehåller listan över alla användbara Oracle SQL-artiklar. Utforska dem för att lära dig om Oracle SQL även om du kan Oracle SQL
Oracle-intervjufrågor :Kolla in den här sidan för de 49 bästa Oracle-intervjufrågorna och svaren :Grunderna , Oracle SQL för att hjälpa dig i intervjuer. Ytterligare material tillhandahålls också
where-sats i oracle :Begränsning av datamängden, where-sats, what is where-sats i SQL-satsen, jämförelseoperatorns
enradsfunktioner i Oracle :Kolla in detta för att ta reda på Enkelradsfunktioner i sql, Oracle-data funktioner,Numeriska funktioner i sql, Teckenfunktion i sql