Arbejde med S .l Server Outer slutter

I s .l Server er det nogle gange nødvendigt at hente ud over de matchende rækker de uovertruffen rækker fra en eller begge tabeller. En sådan operation kaldes en ydre sammenføjning.

eksempler 1 og 2 viser forskellen mellem en naturlig sammenføjning og den tilsvarende ydre sammenføjning. (Alle eksempler i dette afsnit bruger employee_enh tabellen.,)

EKSEMPEL 1:

Få alle detaljer af alle medarbejdere, herunder placeringen af deres afdeling, der bor og arbejder i samme by:

resultatet er:

Eksempel 1 bruger en naturlig slutte sig til at vise resultatet af rækker. Hvis du gerne vil kende alle andre eksisterende levesteder for medarbejdere, skal du bruge den (venstre) ydre join. Dette kaldes en venstre ydre sammenføjning, fordi alle rækker fra bordet på venstre side af operatøren returneres, uanset om de har en matchende række i tabellen til højre., Med andre ord, hvis der ikke er matchende rækker i tabellen på højre side, vil den ydre sammenføjning stadig returnere en række fra tabellen på venstre side med NULL i hver kolonne i den anden tabel (se Eksempel 2). Databasemotoren bruger operatøren venstre ydre sammenføjning til at specificere den venstre ydre sammenføjning.

en højre ydre sammenføjning er ens, men den returnerer alle rækker i tabellen til højre for symbolet. Databasemotoren bruger operatørens højre ydre sammenføjning til at specificere den rigtige ydre sammenføjning.,

EKSEMPEL 2:

Få alle detaljer af alle medarbejdere, herunder placeringen af deres afdeling, til alle de byer, der er enten levende sted alene eller både opholds-og arbejdsplads for medarbejdere, der:

resultatet er:

Som du kan se, når der er ingen matchende linje i tabellen på højre side (afdeling, i dette tilfælde), venstre ydre join stadig returnerer de rækker fra tabellen på venstre side (employee_enh), og kolonnerne i den anden tabel er befolket af NULL-værdier., Eksempel 3 viser brugen af den højre ydre sammenføjningsoperation.

EKSEMPEL 3:

Få alle detaljer for alle afdelinger, såvel som alle levende steder af deres ansatte, til alle de byer, der er enten placering af en afdeling eller opholds-og arbejdsplads for en medarbejder, der:

resultatet er:

ud over venstre og højre ydre joins, der er også full outer join, som er defineret som den union af venstre og højre ydre joins. Med andre ord er alle rækker fra begge tabeller repræsenteret i resultatsættet., Hvis der ikke er nogen tilsvarende række i en af tabellerne, returneres dens kolonner med NULL-værdier. Denne operation er angivet ved hjælp af fuld ydre sammenføjning operatør.

alle ydre forbindelsesoperationer kan simuleres ved hjælp af EU-operatøren plus funktionen ikke eksisterer. Eksempel 4 svarer til eksemplet med den venstre ydre sammenføjning (eksempel 2).,

EKSEMPEL 4

Få alle detaljer af alle medarbejdere, herunder placeringen af deres afdeling, til alle de byer, der er enten levende sted alene eller både opholds-og arbejdsplads for medarbejdere, der:

Den første SELECT-sætning i eu angiver den naturlige deltage i tabellerne employee_enh og afdelingen med deltage i kolonner bopæl og placering. Denne SELECT erklæring henter alle byer, der er på samme tid de levende steder og arbejdspladser hver medarbejder., Den anden SELECT-sætning i fagforeningen henter desuden alle rækker fra employe_enh-tabellen, der ikke svarer til tilstanden i den naturlige sammenføjning.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *