In Database Management Systems (DBMS) worden joins gebruikt om rijen uit twee of meer tabellen te combineren op basis van een gerelateerde kolom of kolommen. Hier volgen verschillende soorten joins, samen met voorbeelden:
1. Innerlijke join:
- Combineert rijen uit twee tabellen waarbij er een overeenkomst is tussen de samengevoegde kolommen van beide tabellen.
- Voorbeeld:
```sql
SELECTEER *
VAN Klanten
INNER JOIN-bestellingen
ON Klanten.KlantID =Bestellingen.KlantID;
```
2. Linker buitenste join:
- Bevat alle rijen uit de linkertabel en alleen de overeenkomende rijen uit de rechtertabel.
- Voorbeeld:
```sql
SELECTEER *
VAN Klanten
LINKS BUITEN JOIN Bestellingen
ON Klanten.KlantID =Bestellingen.KlantID;
```
3. Rechterbuitenste join:
- Bevat alle rijen uit de rechtertabel en alleen de overeenkomende rijen uit de linkertabel.
- Voorbeeld:
```sql
SELECTEER *
VAN Klanten
RECHTS BUITENKOM Bestellingen
ON Klanten.KlantID =Bestellingen.KlantID;
```
4. Volledige buitenste join:
- Combineert alle rijen uit beide tabellen, inclusief ongeëvenaarde rijen uit beide tabellen.
- Voorbeeld:
```sql
SELECTEER *
VAN Klanten
VOLLEDIGE OUTER JOIN-bestellingen
ON Klanten.KlantID =Bestellingen.KlantID;
```
5. Zelf deelnemen:
- Voert een join-bewerking uit op dezelfde tabel, waarbij rijen worden gekoppeld op basis van een gemeenschappelijke kolom binnen de tabel.
- Voorbeeld:
```sql
SELECTEER *
VAN Medewerkers ALS Medewerker1
WORD WERKNEMER ALS Werknemer2
AAN Werknemer1.ManagerID =Werknemer2.EmployeeID;
```
6. Cross-join:
- Combineert elke rij uit de ene tabel met elke rij uit een andere tabel, wat resulteert in een groot aantal rijen.
- Voorbeeld:
```sql
SELECTEER *
VAN Klanten
CROSS JOIN-bestellingen;
```
7. Natuurlijke deelname:
- Voert een inner join uit op basis van gemeenschappelijke kolomnamen tussen twee tabellen. De algemene kolomnamen hoeven niet expliciet te worden opgegeven.
- Voorbeeld:
```sql
SELECTEER *
VAN Klanten
NATUURLIJKE JOIN-bestellingen;
```
Wanneer u joins gebruikt, is het belangrijk om het maken van indexen voor de join-kolommen te overwegen om de prestaties te verbeteren en de uitvoering van query's te optimaliseren. |