Oppsummering: i denne opplæringen vil du lære hvordan du bruker Oracle LEFT JOIN
klausulen spørring data fra flere tabeller.
Introduksjon til Oracle LEFT JOIN-setningsdel
følgende uttalelse illustrerer syntaks for LEFT JOIN
klausulen når du kobler til to bord T1
og T2
:
I dette søket, T1
er du til venstre bord og T2
er rett bord.,
spørringen sammenligner hver rad i T1
tabell med rader i T2
tabell.
Hvis et par rader fra både T1
og T2
tabeller tilfredsstille bli med predikat, spørring kombinerer kolonne med verdier fra rader i begge tabellene, og inkluderer denne raden i resultatsettet.,
I tilfelle en rad i T1
bordet ikke har noen matchende rad i T2
tabellen, spørringen kombinerer kolonnen verdien fra rad i T1
bordet med en NULL-verdi for hver kolonne i den høyre tabellen som vises i SELECT
klausulen.
med andre ord, en venstre sammenføyning returnerer alle radene fra venstre bord og matchende rader fra den høyre tabellen.,
Oracle VENSTRE BLI med eksempler
Se følgende orders
og employees
tabeller i eksempeldatabasen:
orders
tabell butikker kundeordren header data. Det har salesman_id
kolonne som referanser til employee_id
kolonne i employees
tabell.
salesman_id
kolonne er null-stand, noe som betyr at ikke alle bestillinger som har en salgsmedarbeider som er ansvarlig for bestillinger.,
følgende uttalelse henter alle bestillinger og ansatte data fra både orders
og employees
tabeller:
følgende bilde viser resultatet:
resultatet inkluderer alle rader fra orders
tabell. For radene i orders
tabell som ikke har en matchende rad i employees
bordet, NULL-verdier er brukt.,
Oracle VENSTRE DELTA – bli med flere tabeller
følgende uttalelse bruker LEFT JOIN
klausuler for å bli med tre tabeller: orders
, employees
og customers
:
Oracle VENSTRE SLUTTE med å BRUKE punkt
USING
klausul som angir hvilken kolonne som brukes til å teste likestilling når du blir med i tabellene., Følgende viser syntaks for LEFT JOIN
med USING
klausulen:
I denne uttalelsen, kolonnene nevnt i USING
klausulen må være presentert i både T1
og T2
tabeller.,
uttalelsen som bruker USING
punkt ovenfor tilsvarer følgende uttalelse som bruker ON
klausulen:
følgende uttalelse viser hvordan du kan bruke LEFT JOIN
med USING
uttalelse:
Denne uttalelsen hentet alle kunder og deres bestillinger., For kunder som ikke har plassert en ordre, null er brukt for kolonnene i ordrer-tabellen som vises i SELECT
klausulen, som er order_id
, status
, og order_date
.
Betingelser PÅ kontra HVOR punkt
følgende uttalelse får ordre og selger data av ordre 58.,
hvis du Nå flytter tilstand fra WHERE
klausulen ON
klausulen i LEFT JOIN
:
I dette tilfellet, returnerer spørringen alle ordrer, men bare for 58 hadde de selger data forbundet med det.,
Merk at for indre delta, er den tilstanden som er plassert i ON
har samme effekt som det er plassert i WHERE
klausulen.
I denne opplæringen, har du lært hvordan du bruker Oracle LEFT JOIN
klausulen til å hente data fra flere tabeller.
- Var denne opplæringen nyttig?
- YesNo