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:

INNER JOIN

Tarieftabel:

INNER JOIN

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:

INNER JOIN

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:

LINKER BUITENSTE JOIN

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:

RECHTS BUITENSTE JOIN

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:

VOLLEDIGE OUTER JOIN