Hva er SELF JOIN, og når vil du bruke det?
Mulig duplikat: **. sql: self-joins explained
Hva er self join og når vil du bruke det? Jeg forstår ikke self joins, så en lekmannsforklaring med et eksempel ville være flott.
97
3
Du bruker en self join når en tabell refererer til data i seg selv.
F.eks. kan en
Employee
-tabell ha enSupervisorID
-kolonne som peker til den ansatte som er sjefen til den aktuelle ansatte.For å forespørre dataene og få informasjon for begge personene i én rad, kan du bruke self join på denne måten:
En self join er ganske enkelt når du kobler en tabell med seg selv. Det er ikke noe
SELF JOIN
nøkkelord, du skriver bare en vanlig sammenføyning der begge tabellene som er involvert i sammenføyningen er den samme tabellen. En ting å legge merke til er at når du selv blir med, er det nødvendig å bruke et alias for tabellen, ellers vil tabellnavnet være tvetydig.Det er nyttig når du vil korrelere par av rader fra samme tabell, for eksempel et overordnet - underordnet forhold. Følgende spørring returnerer navnene på alle umiddelbare underkategorier av kategorien 'Kjøkken'.
Du vil bruke en selfjoin på en tabell som "refererer" til seg selv - f.eks. en tabell med ansatte der managerid er en fremmednøkkel til employeeid på den samme tabellen.
Eksempel: