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.