samenvatting: in deze tutorial leert u over de SQL Server LEFT JOIN clausule en hoe u deze kunt gebruiken om gegevens uit meerdere tabellen te bevragen.

Inleiding tot SQL Server Left JOIN-clausule

met deLEFT JOIN – clausule kunt u gegevens uit meerdere tabellen opvragen. Het retourneert alle rijen van de linker tabel en de overeenkomende rijen van de rechter tabel. Als er geen overeenkomende rijen in de juiste tabel worden gevonden, wordt NULL gebruikt.,

het volgende illustreert hoe twee tabellen T1 en T2 kunnen worden samengevoegd met behulp van de LEFT JOIN clausule:

Code language: SQL (Structured Query Language) (sql)

In deze syntaxis zijn T1 en T2 respectievelijk de linker-en rechtertabellen.

voor elke rij uit de T1-tabel vergelijkt de query deze met alle rijen uit de T2-tabel. Als een paar rijen ervoor zorgt dat het join predicaat wordt geëvalueerd naar TRUE, zullen de kolomwaarden van deze rijen worden gecombineerd om een nieuwe rij te vormen die vervolgens wordt opgenomen in de resultaatset.,

als een rij uit de linkertabel (T1) geen overeenkomende rij uit de T2-tabel heeft, combineert de query kolomwaarden van de rij uit de linkertabel met NULL voor elke kolomwaarden uit de rechtertabel.

kortom ,deLEFT JOIN clausule retourneert alle rijen uit de linker tabel (T1) en overeenkomende rijen of NULL waarden uit de rechter tabel (T2).

het volgende illustreert de LEFT JOIN van twee tabellen T1(1, 2, 3) en T2(A, B, C)., De LEFT JOIN zal rijen uit de T1-tabel matchen met de rijen uit de T2-tabel met behulp van patronen:

in deze afbeelding komt geen rij uit de T2-tabel overeen met de rij 1 uit de T1-tabel, daarom, null wordt gebruikt. Rijen 2 en 3 uit de T1-tabel komen overeen met respectievelijk rijen A en B uit de T2-tabel.,

SQL Server LEFT JOIN example

zie de volgendeproducts enorder_items tabellen:

elk VERKOOPORDERITEM bevat één product. De link tussen de order_items en de products tabellen is de product_id kolom.,

De volgende instructie wordt het LEFT JOIN component van een query gegevens uit het products en order_items tabellen:

Zoals je ziet duidelijk het resultaat, een lijst van NULL in de order_id kolom geeft aan dat de betreffende producten niet verkocht aan een klant nog niet.

het is mogelijk om de WHERE clausule te gebruiken om de resultaten te beperken., De volgende query geeft de producten terug die niet in een verkooporder voorkomen:

Zoals altijd verwerkt SQL Server de WHERE clausule na de LEFT JOIN clausule.,

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., De WHERE-component

De volgende query vindt van de producten die deel uitmaken van de order-id 100:

Laten we verplaatsen de conditie order_id = 100 om het ON clausule:

De query alle producten, maar alleen de volgorde met het id 100 het bijbehorende product informatie.,

merk op dat voor de INNER JOIN clausule, de voorwaarde in de ON clausule functioneel gelijkwaardig is als deze in de WHERE clausule wordt geplaatst.

in deze tutorial hebt u geleerd hoe u de SQL Server LEFT JOIN clausule kunt gebruiken om gegevens uit meerdere gerelateerde tabellen op te halen.