JOINS in SQL Server: zelfstudie met voorbeelden
We kunnen gegevens uit meer dan één tabel ophalen met behulp van de JOIN-instructie. Er zijn hoofdzakelijk 4 verschillende soorten JOINS in SQL Server. We zullen leren dat iedereen meedoet SQL-server met voorbeelden:
- INNER JOIN/eenvoudige join
- LINKS BUITENVERBINDEN/LINKS VERBINDEN
- RECHTS BUITEN JOIN/RECHTS JOIN
- VOLLEDIGE OUTER JOIN
INNER JOIN
Dit type SQL Server JOIN retourneert rijen uit alle tabellen waarin de join-voorwaarde true is. Het gebruikt de volgende syntaxis:
SELECT columns FROM table_1 INNER JOIN table_2 ON table_1.column = table_2.column;
Om dit te illustreren, gebruiken we de volgende twee tabellen:
Studententafel:
Tarieftabel:
De volgende opdracht demonstreert een INNER JOIN in SQL Server met een voorbeeld:
SELECT Students.admission, Students.firstName, Students.lastName, Fee.amount_paid FROM Students INNER JOIN Fee ON Students.admission = Fee.admission
De opdracht retourneert het volgende:
We kunnen de studenten vertellen die hun collegegeld hebben betaald. We hebben in beide tabellen de kolom met gemeenschappelijke waarden gebruikt: de toelatingskolom.
LINKER BUITENSTE JOIN
Dit type join retourneert alle rijen uit de linkertabel plus records in de rechtertabel met overeenkomende waarden. Bijvoorbeeld:
SELECT Students.admission, Students.firstName, Students.lastName, Fee.amount_paid FROM Students LEFT OUTER JOIN Fee ON Students.admission = Fee.admission
De code retourneert het volgende:
De records zonder overeenkomende waarden worden vervangen door NULL's in de respectieve kolommen.
RECHTS BUITENSTE JOIN
Dit type join retourneert alle rijen uit de rechtertabel en alleen de rijen met overeenkomende waarden in de linkertabel. Bijvoorbeeld:
SELECT Students.admission, Students.firstName, Students.lastName, Fee.amount_paid FROM Students RIGHT OUTER JOIN Fee ON Students.admission = Fee.admission
De instructie voor OUTER JOINS SQL Server retourneert het volgende:
De reden voor de bovenstaande uitvoer is dat alle rijen in de Tarieftabel beschikbaar zijn in de Studententabel wanneer ze overeenkomen met de toelatingskolom.
VOLLEDIGE OUTER JOIN
Dit type join retourneert alle rijen uit beide tabellen met NULL-waarden waarbij de JOIN-voorwaarde niet waar is. Bijvoorbeeld:
SELECT Students.admission, Students.firstName, Students.lastName, Fee.amount_paid FROM Students FULL OUTER JOIN Fee ON Students.admission = Fee.admission
De code retourneert het volgende resultaat voor FULL OUTER JOINS-query's in SQL: