Samenvatting: in deze tutorial leert u hoe u de SQL Server RIGHT JOIN
-clausule kunt gebruiken om gegevens uit twee tabellen op te vragen.
Inleiding tot de SQL Server RIGHT JOIN-clausule
De RIGHT JOIN
-clausule combineert gegevens uit twee of meer tabellen. De RIGHT JOIN
-clausule begint met het selecteren van gegevens uit de rechtertabel en het matchen met de rijen uit de linkertabel. De RIGHT JOIN
retourneert een resultaat set die alle rijen in de rechtertabel bevat, ongeacht of ze overeenkomende rijen uit de linkertabel hebben of niet. Als een rij in de rechtertabel geen overeenkomende rijen uit de linkertabel heeft, zal de kolom van de linkertabel in de resultaatverzameling nulls bevatten.
Het volgende toont de syntaxis van de RIGHT JOIN
-clausule:
Code language: SQL (Structured Query Language) (sql)
In deze syntaxis is T1 de linkertabel en T2 de rechtertabel.
Merk op dat RIGHT JOIN
en RIGHT OUTER JOIN
hetzelfde is. Het sleutelwoord OUTER
is optioneel.
Het volgende Venn-diagram illustreert de RIGHT JOIN
-bewerking:
SQL Server RIGHT JOIN-voorbeeld
We zullen de sales.order_items
en production.products
tabel uit de voorbeelddatabase gebruiken voor de demonstratie.
Het volgende statement retourneert alle order_id
uit de sales.order_items
en productnaam uit de production.products
tabel:
Code language: SQL (Structured Query Language) (sql)
Hierna volgt de output:
De query retourneerde alle rijen uit de production.products
tabel (rechter tabel) en rijen uit de sales.order_items
tabel (linker tabel). Als een product geen verkoop heeft, zal de order_id
kolom een nul hebben.
Om de producten te krijgen die niet verkocht zijn, voegt u een WHERE
-clausule toe aan de bovenstaande query om de producten te filteren die wel verkocht zijn:
Code language: SQL (Structured Query Language) (sql)
De volgende afbeelding toont de uitvoer:
Het volgende Venn-diagram illustreert de bovenstaande RIGHT JOIN
-bewerking:
In deze zelfstudie hebt u geleerd hoe u de SQL Server RIGHT JOIN
kunt gebruiken om gegevens uit twee tabellen op te vragen.