Oppsummering: i denne opplæringen vil du lære om SQL Server LEFT JOIN
klausulen, og hvordan du bruker det til spørring data fra flere tabeller.
Introduksjon til SQL Server-LEFT JOIN-setningsdel
LEFT JOIN
klausulen lar deg spørring data fra flere tabeller. Den returnerer alle radene fra venstre bord og matchende rader fra den høyre tabellen. Hvis ingen matchende rader som finnes i den høyre tabellen, NULL
er brukt.,
følgende illustrerer hvordan å bli med i to tabeller T1 og T2 ved hjelp av LEFT JOIN
klausulen:
Code language: SQL (Structured Query Language) (sql)
I denne syntaks, T1 og T2 er venstre og høyre bord henholdsvis.
For hver rad fra T1 tabellen, spørringen sammenligner det med alle rader fra T2 bordet. Om et par rader får bli med predikatet å vurdere å TRUE
, kolonnen verdier fra disse radene vil kombineres for å danne en ny rad som deretter inkluderes i resultatsettet.,
Hvis en rad fra venstre tabellen (T1) ikke har noen matchende rad fra T2 tabellen, spørringen kombinerer kolonne verdier på rad fra venstre tabell med NULL
for hver kolonne med verdier fra den høyre tabellen.
kort fortalt LEFT JOIN
klausulen returnerer alle radene fra venstre tabellen (T1) og matchende rader eller NULL
verdier fra den høyre tabellen (T2).
følgende illustrerer LEFT JOIN
av to tabeller T1(1, 2, 3) og T2(A, B, C)., LEFT JOIN
vil matche rader fra T1 tabell med rader fra T2 tabell ved hjelp av mønstre:
I denne illustrasjonen, ikke rad fra T2 tabell kamper på rad 1 fra T1 bordet, derfor NULL er brukt. Radene 2 og 3 fra T1 tabellen samsvarer med rader A og B fra T2 tabell henholdsvis.,
SQL Server VENSTRE eksempel DELTA på
Se følgende products
og order_items
tabeller:
Hver salgsordre elementet inneholder ett produkt. Koblingen mellom order_items
og products
tabeller er product_id
kolonne.,
følgende uttalelse bruker LEFT JOIN
klausulen spørring data fra products
og order_items
tabeller:
Som du ser tydelig fra resultatsettet, en liste av NULL
i order_id
kolonnen indikerer at de aktuelle produkter ikke selges til en kunde ennå.
Det er mulig å bruke WHERE
klausulen skal begrense resultat., Følgende spørring returnerer produkter som ikke vises i alle kundeordre:
Som alltid, SQL Server prosesser WHERE
klausulen etter LEFT JOIN
klausulen.,
The following example shows how to join three tables: production.products
, sales.orders
, and sales.order_items
using the LEFT JOIN
clauses:
Here is the output:
SQL Server LEFT JOIN: conditions in ON vs., DER punkt
følgende spørring finner de produktene som tilhører ordre-id-100:
La oss gå tilstanden order_id = 100
til ON
klausulen:
spørringen returnerte alle produkter, men bare for med id-100 har forbundet produkt informasjon.,
Merk at for INNER JOIN
klausulen, tilstanden i ON
klausulen er funksjonelt tilsvarende, hvis det er plassert i WHERE
klausulen.
I denne opplæringen, har du lært hvordan du bruker SQL Server LEFT JOIN
klausulen til å hente data fra flere relaterte tabeller.
Legg igjen en kommentar