Tot slot
Ik hoop dat ik jullie aan de hand van deze wederom verbeterde (dit is versie 3 ondertussen) tutorial duidelijk(er) heb kunnen maken wat de SQL JOINS precies inhouden. Je hebt gezien dat de JOIN in sommige gevallen een prima oplossing bied om de juiste gegevens uit meerdere tabellen te halen.
Door het leren kennen van de JOIN heb je meer kennis van SQL, en zal waarschijnlijk weer meer SQL oplossingen gebruiken voor problemen die je anders met PHP en een 2e query op zou lossen. Natuurlijk zijn er wel altijd uitzonderingen, waarbij een JOIN geen uitkomst zal bieden, en waar je wel een tussenweg met PHP (of een andere scripttaal) zal moeten gebruiken.
Opmerkingen:
Normaliseer je database (staat ook in inleiding, maar dit is erg belangrijk!)
Het is voor het goed functioneren van deze mogelijkheid in SQL heel belangrijk dat je database op een goede manier is opgebouwd. Normalisatie is voor het goed opbouwen van een database een goede methode. Daarom wil ik via hier nog even op deze tutorial wijzen: http://phphulp.nl/php/tutorials/3/150/
Andere mogelijkheden (staat ook in inleiding, maar dit is erg belangrijk!)
Met de JOIN kan je de referentiƫle integriteit van de database gebruiken, om gekoppelde gegevens uit meerdere tabellen op de juiste manier op te halen. Echter is het geen manier om de referentiƫle integriteit te waarborgen.
Sommige providers bieden naast de standaard MySQL ook de mogelijkheid om PostgreSQL te gebruiken. Hierin zit een optie om sleutelvelden aan te geven en ook waaraan ze worden gekoppeld.
Wil je hier meer over weten kijk dan even bij deze 2 tutorials:
- http://www.phphulp.nl/php/tutorials/3/334/
- http://www.phphulp.nl/php/tutorials/3/371/
Rest van je query
De rest van de query kan je gewoon op de manier gebruiken zoals je bent gewend. Door een ORDER BY toe te voegen, of een WHERE clausule krijg je alleen de gegevens die je wilt hebben. Het maakt dus voor het vervolg van je query geen verschil of je een JOIN gebruikt of niet!
Inhoudsopgave
- Inleiding
- Tabelopbouw
- Inner Join
- Left Join
- Left Join (IS NULL)
- Right Join
- Right Join (IS NULL)
- Outer Join
- Outer Join (IS NULL)
- Multiple Joins
- Tabel met zichzelf Joinen
- Tot slot