MySQL INNER JOIN Trefwoord
MySQL INNER JOIN Trefwoord
Het INNER JOIN
trefwoord selecteert records die overeenkomende waarden hebben in beide tabellen.
INNER JOIN-syntaxis
SELECT column_name(s)
FROM table1
INNER JOIN table2
ON table1.column_name = table2.column_name;
Demodatabase
In deze tutorial gebruiken we de bekende Northwind-voorbeelddatabase.
Hieronder een selectie uit de tabel "Bestellingen":
OrderID | CustomerID | EmployeeID | OrderDate | ShipperID |
---|---|---|---|---|
10308 | 2 | 7 | 1996-09-18 | 3 |
10309 | 37 | 3 | 1996-09-19 | 1 |
10310 | 77 | 8 | 1996-09-20 | 2 |
En een selectie uit de tabel "Klanten":
CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
---|---|---|---|---|---|---|
1 |
Alfreds Futterkiste | Maria Anders | Obere Str. 57 | Berlin | 12209 | Germany |
2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constitución 2222 | México D.F. | 05021 | Mexico |
3 | Antonio Moreno Taquería | Antonio Moreno | Mataderos 2312 | México D.F. | 05023 | Mexico |
MySQL INNER JOIN Voorbeeld
De volgende SQL-instructie selecteert alle bestellingen met klantinformatie:
Voorbeeld
SELECT Orders.OrderID, Customers.CustomerName
FROM Orders
INNER JOIN
Customers ON Orders.CustomerID = Customers.CustomerID;
Opmerking: Het INNER JOIN
trefwoord 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!
DOE MEE MET Drie Tafels
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);