SQL JOIN-sleutelwoord
❮ Referentie voor SQL-trefwoorden
INNERLIJKE JOIN
De INNER JOIN
opdracht retourneert rijen met overeenkomende waarden in beide tabellen.
De volgende SQL selecteert alle bestellingen met klantinformatie:
Voorbeeld
SELECT Orders.OrderID, Customers.CustomerName
FROM Orders
INNER JOIN
Customers ON Orders.CustomerID = Customers.CustomerID;
Opmerking: het trefwoord INNER JOIN selecteert alle rijen uit beide tabellen, zolang er een overeenkomst is tussen de kolommen. Als er records in de tabel "Bestellingen" zijn die geen overeenkomsten hebben in "Klanten", worden deze bestellingen niet weergegeven!
De volgende SQL-instructie selecteert alle bestellingen met klant- en verzenderinformatie:
Voorbeeld
SELECT Orders.OrderID, Customers.CustomerName, Shippers.ShipperName
FROM
((Orders
INNER JOIN Customers ON Orders.CustomerID = Customers.CustomerID)
INNER JOIN Shippers ON Orders.ShipperID = Shippers.ShipperID);
LINKS DOEN
De LEFT JOIN
opdracht retourneert alle rijen uit de linkertabel en de overeenkomende rijen uit de rechtertabel. Het resultaat is NULL vanaf de rechterkant, als er geen overeenkomst is.
De volgende SQL selecteert alle klanten en eventuele bestellingen:
Voorbeeld
SELECT Customers.CustomerName, Orders.OrderID
FROM Customers
LEFT JOIN Orders
ON Customers.CustomerID = Orders.CustomerID
ORDER BY Customers.CustomerName;
Opmerking: Het LEFT JOIN
trefwoord retourneert alle records uit de linkertabel (Klanten), zelfs als er geen overeenkomsten zijn in de rechtertabel (Bestellingen).
RECHTS AANMELDEN
De RIGHT JOIN
opdracht retourneert alle rijen uit de rechtertabel en de overeenkomende records uit de linkertabel. Het resultaat is NULL vanaf de linkerkant, wanneer er geen overeenkomst is.
De volgende SQL retourneert alle medewerkers en eventuele bestellingen die ze hebben geplaatst:
Voorbeeld
SELECT Orders.OrderID, Employees.LastName, Employees.FirstName
FROM Orders
RIGHT JOIN Employees ON Orders.EmployeeID = Employees.EmployeeID
ORDER BY Orders.OrderID;
Opmerking: Het RIGHT JOIN
trefwoord retourneert alle records uit de rechtertabel (Werknemers), zelfs als er geen overeenkomsten zijn in de linkertabel (Orders).
VOLLEDIGE OUTER JOIN
De FULL OUTER JOIN
opdracht retourneert alle rijen wanneer er een overeenkomst is in de linker- of rechtertabel.
De volgende SQL-instructie selecteert alle klanten en alle bestellingen:
SELECT Customers.CustomerName, Orders.OrderID
FROM Customers
FULL OUTER JOIN Orders
ON Customers.CustomerID=Orders.CustomerID
ORDER BY Customers.CustomerName;
Opmerking: het FULL OUTER JOIN
trefwoord retourneert alle rijen uit de linkertabel (Klanten) en alle rijen uit de rechtertabel (Bestellingen). Als er rijen zijn in "Klanten" die geen overeenkomsten hebben in "Bestellingen", of als er rijen zijn in "Bestellingen" die geen overeenkomsten hebben in "Klanten", worden die rijen ook weergegeven.
❮ Referentie voor SQL-trefwoorden