Resumé: i denne tutorial vil du lære, hvordan du bruger Oracle LEFT JOIN
klausul til at forespørge på data fra flere tabeller.
Introduktion til Oracle LEFT JOIN klausul
følgende udtalelse illustrerer syntaks af LEFT JOIN
klausul, når sammenføjning af to tabeller T1
og T2
:
I denne forespørgsel, T1
er den venstre tabel, og T2
er det rigtige bord.,
forespørgslen sammenligner hver række i tabellenT1
med rækker i tabellenT2
.
Hvis et par rækker fra begge T1
og T2
tabeller tilfredsstiller join-prædikatet, kombinerer forespørgslen kolonneværdier fra rækker i begge tabeller og inkluderer denne række i resultatsættet.,
I tilfælde af at en række i T1
tabellen ikke har nogen matchende linje i T2
tabel, forespørgsel kombinerer kolonne med værdier fra den række, i T1
tabel med en NULL-værdi for hver kolonne i den rigtige tabel, der vises i SELECT
klausul.
med andre ord returnerer en venstre join alle rækker fra venstre tabel og matchende rækker fra højre tabel.,
Oracle LEFT JOIN eksempler
Se følgende: orders
og employees
tabeller i eksempeldatabasen:
orders
tabelposition > > butikker med salg for header data. Den har kolonnensalesman_id
, der henviser tilemployee_id
i kolonnenemployees
tabel.
salesman_id
kolonnen er null-stand, hvilket betyder, at ikke alle ordrer har en salgsmedarbejder, der er ansvarlig for ordrene.,
følgende erklæring henter alle ordrer og medarbejdere data fra både orders
og employees
tabeller:
følgende billede viser resultatet:
resultatet omfatter alle rækker fra orders
tabel. For rækkerne i tabellenorders
, der ikke har en matchende række i tabellenemployees
, bruges NULL-værdier.,
Oracle LEFT JOIN – join flere tabeller
Den følgende sætning bruger LEFT JOIN
klausuler til at deltage i tre tabeller: orders
employees
og customers
:
Oracle VENSTRE DELTAGE med BRUG klausul
USING
bestemmelse angiver, hvilken kolonne til at teste for ligestilling, når du tilmelder dig tabeller., Følgende viser syntaks af LEFT JOIN
med USING
klausul:
I denne erklæring, de kolonner, der er nævnt i USING
bestemmelse, skal være fremlagt i både T1
og T2
tabeller.,
erklæringen, der bruger koden USING
klausul ovenfor svarer til følgende redegørelse, som bruger ON
klausul:
Den følgende sætning viser, hvordan man bruger LEFT JOIN
med USING
erklæring:
Denne erklæring hentet alle kunder og deres ordrer., For de kunder, der ikke placeres nogen ordrer, null anvendes til kolonnerne i tabellen ordrer, der vises i SELECT
” – klausul, som er order_id
status
og order_date
.
betingelser i vs. hvor klausul
følgende erklæring får ordren og sælgerdataene i ordren 58.,
Nu, hvis du flytter den betingelse fra WHERE
bestemmelse ON
bestemmelse af LEFT JOIN
:
I dette tilfælde, at forespørgslen returnerer alle ordrer, men kun for 58 havde sælgeren data, der er forbundet med det.,
Bemærk, at for den indre sammenføjning har betingelsen placeret i ON
den samme virkning som den er placeret i WHERE
klausul.
i denne tutorial har du lært, hvordan du bruger Oracle LEFT JOIN
klausul til at hente data fra flere tabeller.
- var denne vejledning nyttig?
- YesNo