, erhvervsdrivende, anvendes til at forbinde resultaterne af to (eller flere) udvælge udtalelser. de operatører, der er til rådighed i oracle 11g er union, eu, skærer og minus.satte eu erhvervsdrivende returnerer de samlede resultater af de to udvalgte udtalelser, især det fjerner kopier af de resultater, dvs. kun en række vil blive anført for hver dobbelte resultat. for at imødegå denne opførsel, bruge eu - erhvervsdrivende, som bevarer de kopier i den endelige result.intersect lister kun optegnelser, der er fælles for både den særlige forespørgsler, der fjerner den anden operatør minus forespørgslen er resultaterne fra produktionen, hvis de findes også i det første spørgsmål, er resultater.skærer og minus sæt operationer, producere uden dobbelttælling resultater. alle de operatører deler den samme grad af forrang blandt dem. i stedet under spørgsmål henrettelse, oracle begynder evaluering fra venstre eller fra top til bund. hvis udtrykkeligt parentes anvendes, så de kan afvige som parentes vil for prioriteres højere end dinglende operatører. ting at huske -, samme antal kolonner skal udvælges af alle deltagende udvælge erklæringer. kolonne navne, der anvendes i displayet er taget fra den første søgning.,,, datatyper i kolonnen liste skal være kompatible /implicit konvertible af oracle.hun vil ikke udføre implicit type omstilling, hvis tilsvarende kolonner i komponenten, tilhører forskellige data type grupper, f.eks. hvis en søjle i første del spørgsmål er af datatype dato, og den tilsvarende kolonne i anden del spørgsmål er af datatype, char, oracle vil ikke udføre implicit omstilling, men op ora-01790 fejl.,,, plan om skal bruges til at løse resultatet.individuelle resultat, der bestiller ikke er tilladt med fastsatte operatører.ordre fra kan anføres én gang ved udgangen af forespørgslen.for eksempel,,,, union og skærer operatører er commutative, dvs. for, er ikke vigtigt. det ændrer ikke det endelige resultat.,,, ydeevne, klog, union viser bedre præstationer i forhold til eu, fordi ressourcerne ikke spildes på filtrering kopier og sortering resultatet.,,,, der kan være en del af de spørgsmål.,,,,,,, der erhvervsdrivende, kan ikke anvendes i særlige erklæringer, der indeholder tabel samling udtryk.,,, lang, "clob, bfile, varray eller indlejrede tabel er ikke tilladt til brug i sæt operatører. for opdatering klausul ikke er tilladt med de erhvervsdrivende.,,, union, når flere udvalgte spørgsmål forenes med eu - erhvervsdrivende, oracle viser resultatet fra alle sammen vælge forespørgsler, efter at fjerne alle kopier og i sorteret for (stigende ved misligholdelse), uden at deres værdier.på under fem spørgsmål sammen med eu - erhvervsdrivende. den endelige samlede resultat, der indeholder værdi fra alle sqls.note dobbeltarbejde fjernelse og sortering af data. vælg 1 nam fra to eu - udvælge 5 fra to eu - udvælge 3 fra to eu - udvælge 6 fra to eu - udvælge 3 fra dobbelt; nam anfører derfor 1, 3, 5, 6, bemærkes, at de kolonner, der indgik i særlige spørgsmål skal være kompatible data type.hun kaster en fejlmeddelelse, når reglen er krænket. vælg to_date ('12-oct-03) fra to eu - vælg "13-oct-03 fra dobbelt; udvælge to_date ('12-oct-03) fra den dobbelte * fejl på linje 1: ora-01790: udtryk, skal have samme datatype som tilsvarende udtryk, union, eu og eu - alle er ens i deres fungerer med en mindre forskel.men eu - alle giver resultater uden at fjerne overlapninger og sortering af data.for eksempel, i ovennævnte spørgsmål union erstattes af eu - at se effekten., at forespørgslen er påvist i eu - afdeling.bemærk forskellen i den produktion, der er genereret uden sortering og deduplication. vælg 1 nam fra to eu - alle vælge 5 fra to eu - alle vælge 3 fra to eu - alle vælge 6 fra to eu - alle vælge 3 fra dobbelt; nam anfører derfor 1 5 3 3, mødes med hinanden operatør, oracle viser den fælles rækker både fra den særlige erklæringer med ingen kopier og data er arrangeret i sorteret for (stigende ved misligholdelse). f.eks. under særlige spørgsmål får den løn, som er almindelige i afdeling 10 og 20. ifølge iso sql standarder, tænk over andre forrang for evaluering af sætte operatører, men det er stadig optaget af oracle.vælg løn fra arbejdstagerne, hvor department_id = 10 intresect udvælge løn fra arbejdstagerne, hvor department_id = 20 løn, lad os finde ud af det. 1500 1200 2000, minus minus operatør, viser de rækker, der er til stede i det første spørgsmål, men ikke i det andet spørgsmål, med ingen kopier og data ordnet i rækkefølge ved misligholdelse.vælg job_id fra arbejdstagere, hvor department_id = 10 minus udvælge job_id fra arbejdstagere, hvor department_id = 20 job_id ------------- hr fin admin, matchende den særlige erklæring, der kan være situationer, hvor det sammensatte udvælge udtalelser kan have forskellige regne og data type af udvalgte kolonner.derfor svarer til kolonne liste udtrykkeligt, for kolonne indsættes på den manglende positioner, som svarer til greven og data type af udvalgte kolonner i hver vælge erklæring.for mange piller, nul kan også erstattes i overensstemmelse med typen af kolonnerne udvalgt i forespørgslen. i nedenstående spørgsmål, data type af arbejdstagerens navn (varchar2) og beliggenhed id (antal) svarer ikke.derfor er gennemførelsen af den under spørgsmål ville tage fejl på grund af kompatibilitet spørgsmål. vælg department_id "afdelingen", first_name "arbejdstager" fra ansatte eu vælge department_id, location_id fra departementer fejl på linje 1: ora-01790: udtryk, skal have samme datatype som tilsvarende udtryk, der eksplicit, kolonne kan modsvares af, at nul for placering id og arbejdstagerens navn. vælg department_id "afdelingen", first_name "arbejdstager", er "sted" fra ansatte i eu vælge department_id, null "arbejdstager", location_id fra tjenestegrene, ved hjælp af afsnit i, der er fastsat for operationer, for i afsnit kan findes kun én gang ved udgangen af den forespørgsel, der indeholder sammensatte udvælge erklæringer. det betyder, at de enkelte særlige erklæringer ikke kanhave orden i afsnit.desuden, sortering, kan baseres på de kolonner, der anføres i den første særlige spørgsmål.derfor anbefales det at løse de sammensatte søgning ved hjælp af kolonne holdninger.den compund forespørgsel under samler resultaterne fra to afdelinger og art af den løn, kolonne. vælg employee_id, first_name, løn fra arbejdstagerne, hvor department_id = 10 eu - udvælge employee_id, first_name, løn fra arbejdstagerne, hvor department_id = 20 for 3.
ved hjælp af de erhvervsdrivende,
Previous:subqueries at løse spørgsmål
Next Page:ved at manipulere med data