Inhoudsopgave:
Definitie - Wat betekent Self-Join?
Een self-join, ook bekend als een inner join, is een gestructureerde querytaal-instructie (SQL) waarbij een opgevraagde tabel met zichzelf wordt verbonden. De instructie self-join is nodig wanneer twee gegevenssets, binnen dezelfde tabel, worden vergeleken.
Techopedia legt Self-Join uit
Als voorbeeld is er een tabel met de naam WERKNEMERS die drie kolommen bevat:
- Naam werknemer
- werknemer ID
- medewerker manager ID
Omdat de managers ook werknemers zijn, bevat de kolom MANAGER_ID ook de ID van een andere werknemer die ook de manager is. Om een query te schrijven om de namen en ID's van de medewerkers en managers te extraheren, moet de tabel logisch in tweeën worden gedeeld om twee afzonderlijke query's uit te voeren: werknemers (eerste tabel) en managers (tweede tabel). Dit wordt bereikt door de volgende voorbeeld-SQL-query uit te voeren:
SELECT a.medewerker_naam, b.medewerker_naam als Manager_name
VAN werknemers als a, werknemers als b
WAAR a.manager_id = b.employee_id
Het begrijpen van het self-join concept en de omstandigheden is essentieel om de bovenstaande SQL-instructie te begrijpen.
In het voorbeeld krijgt de tweede EMPLOYEES-tabel de alias b, wat in feite een subset is van de volledige EMPLOYEES-tabel. De WHERE-voorwaarde dwingt de eerste WERKNEMERS-tabel echter om de werknemersmanager in de tweede WERKNEMERS-tabel te ondervragen.
