Combineert de brontabelrecords wanneer die wordt gebruikt in een FROM-component.
Syntaxis
FROM table1 [ LEFT | RIGHT ] JOIN table2
ON table1.field1compopr table2.field2De LEFT JOIN- en RIGHT JOIN-bewerkingen bevatten de volgende onderdelen:
Onderdeel |
Beschrijving |
tabel1, tabel2 |
De namen van de tabellen waaruit records worden gecombineerd. |
field1, field2 |
De namen van de velden die zijn gekoppeld. De velden moeten hetzelfde gegevenstype hebben en dezelfde soort gegevens bevatten, maar de naam ervan hoeft niet hetzelfde te zijn. |
vergelijkopr |
Een relationele vergelijkingsoperator: "=," "<," ">," "<=," ">=," of "<>." |
Opmerkingen
Gebruik een LEFT JOIN om een left outer join te maken. In left outer joins zijn alle records betrokken uit de eerste (linker) van de twee tabellen, zelfs als er geen overeenkomende waarden voor records in de tweede tabel (rechts) staan.
Gebruik een RIGHT JOIN om een right outer join te maken. In right outer joins zijn alle records betrokken uit de tweede (rechter) van de twee tabellen, zelfs als er geen overeenkomende waarden voor records in de eerste tabel (links) staan.
U kunt bijvoorbeeld LEFT JOIN gebruiken met de tabellen Afdelingen (links) en Medewerkers (rechts) om alle afdelingen te selecteren, ook die afdelingen aan welke geen werknemers zijn toegewezen. Om alle werknemers te selecteren, ook degenen die niet zijn toegewezen aan een afdeling, zou u RIGHT JOIN gebruiken.
Het volgende voorbeeld laat zien hoe u de tabellen Categorieën en Producten kunt samenvoegen aan de hand van het veld CategorieID. De query produceert een lijst met alle categorieën, inclusief die categorieën die geen producten bevatten:
SELECT CategoryName, ProductName FROM Categories LEFT JOIN Products ON Categories.CategoryID = Products.CategoryID;
In dit voorbeeld is het gekoppelde veld CategorieID, maar het is niet opgenomen in de queryresultaten omdat het niet is opgenomen in de SELECT-instructie. Als u het gekoppelde veld wilt opnemen, voert u de veldnaam in de SELECT-instructie in — in dit geval Categories.CategoryID.
Voor het maken van een query met alleen records waarin de gegevens in de gekoppelde velden identiek zijn, gebruikt u een INNER JOIN-bewerking.
-
Een LEFT JOIN of een RIGHT JOIN kan worden genest in een INNER JOIN, maar een INNER JOIN kan niet worden genest binnen een LEFT JOIN of een RIGHT JOIN. Zie de beschrijving van nesten in het onderwerp INNER JOIN om te zien hoe u joins in andere joins kunt nesten.
-
U kunt meerdere On-componenten koppelen. Zie de beschrijving van de componentkoppeling in het onderwerp INNER JOIN om te zien hoe dit wordt gedaan.
Als u velden die Memo- of OLE-Object-gegevens wilt samenvoegen, treedt er een fout op.