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.
Geef een reactie