Ga naar hoofdinhoud

20 veelgestelde interviewvragen over SQL-joins

Bereid je SQL-interview voor met deze lijst van de meest voorkomende vragen over SQL-joins
Bijgewerkt 16 apr 2026  · 15 min lezen

SQL, voluit Structured Query Language, is een krachtig hulpmiddel om door grote hoeveelheden data te zoeken en specifieke informatie voor analyse terug te halen. SQL leren is cruciaal voor iedereen die data-analist, data-engineer of data scientist wil worden, en het is ook nuttig in veel andere vakgebieden, zoals webontwikkeling of marketing.

Of je nu een werkzoekende bent die een nieuwe kans zoekt om je SQL-vaardigheden toe te passen, of een hiring manager die een kandidaat gaat bevragen voor een openstaande functie in het bedrijf: in elk interview komen vragen over SQL-joins aan bod.

In SQL is een join een instructie om records uit twee of meerdere tabellen te combineren en op te halen. SQL-tabellen kunnen worden gejoind op basis van de relatie tussen kolommen van die tabellen.

In dit artikel heb ik de meest gestelde vragen over SQL-joins op een rijtje gezet. Door deze interviewvragen te oefenen, bereid je je beter voor en voel je je zekerder wanneer je over dit populaire concept wordt bevraagd.

Klaar voor de test? Laten we samen joinen!

TL;DR: Belangrijkste inzichten over SQL-joins voor je interview

  • Er zijn zes kern-typen SQL-joins: INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL JOIN, SELF JOIN en CROSS JOIN.
  • INNER JOIN retourneert alleen overeenkomende rijen, terwijl LEFT JOIN en RIGHT JOIN alle rijen van één kant plus de matches van de andere kant opnemen.
  • Geavanceerde interviewonderwerpen zijn onder meer semi-joins, anti-joins en het verschil tussen de clausules ON en WHERE bij joins.
  • Oefen met het handmatig schrijven van join-queries—interviewers waarderen je probleemoplossende aanpak meer dan een perfect geheugen voor syntaxis.
  • Begrijp wanneer je elk jointype gebruikt en hoe ze de performance beïnvloeden, vooral CROSS JOIN, dat een cartesisch product oplevert.

10 SQL-joinvragen voor beginners

1. Wat is een join?

Een join is een SQL-clausule die wordt gebruikt om records uit twee of meerdere tabellen te combineren en op te halen. SQL-tabellen kunnen worden gejoind op basis van de relatie tussen de kolommen van die tabellen. Bekijk onze SQL-joins-tutorial voor alle details.

2. Wat zijn de belangrijkste typen joins?

Er zijn zes hoofdtypen joins:

  • INNER JOIN
  • LEFT JOIN
  • RIGHT JOIN
  • FULL JOIN
  • SELF JOIN
  • CROSS JOIN

3. Wat is het verschil tussen een LEFT JOIN en een RIGHT JOIN?

De LEFT JOIN retourneert alle records uit de linkertabel en de overeenkomende records uit de rechtertabel. Voor rijen in de linkertabel zonder match in de rechtertabel bevat het resultaat NULL-waarden in de kolommen van de rechtertabel.

De RIGHT JOIN retourneert alle records uit de rechtertabel en de overeenkomende records uit de linkertabel. Voor rijen in de rechtertabel zonder match in de linkertabel bevat het resultaat NULL-waarden in de kolommen van de linkertabel.

-- LEFT JOIN: all employees, including those with no department
SELECT employees.name, departments.dept_name
FROM employees
LEFT JOIN departments
ON employees.dept_id = departments.dept_id;

-- RIGHT JOIN: all departments, including those with no employees
SELECT employees.name, departments.dept_name
FROM employees
RIGHT JOIN departments
ON employees.dept_id = departments.dept_id;

Wil je de nuances beter begrijpen? Lees dan onze gids SQL LEFT JOIN vs. LEFT OUTER JOIN.

4. Waarom zijn joins belangrijk in SQL-beheer?

SQL-joins zijn om meerdere redenen cruciaal in SQL-beheer, waaronder:

  • SQL JOINS zijn sleutelmethoden om meerdere tabellen te integreren zodat ze eenvoudig te lezen en te analyseren zijn.
  • Ze bieden een efficiënte en toegankelijke manier om informatie in je database te benaderen en te combineren.
  • Het gebruik van JOINS kan het datagebruik en de opslag in de database verminderen.

5. Wat is een OUTER JOIN?

Een OUTER JOIN retourneert zowel overeenkomende waarden als niet-overeenkomende waarden uit één of beide tabellen. LEFT JOIN, RIGHT JOIN en FULL JOIN zijn allemaal typen OUTER JOIN. Voor een gedetailleerde vergelijking, zie onze tutorial SQL INNER JOIN vs. OUTER JOIN.

6. Wat is een INNER JOIN?

Een INNER JOIN retourneert alleen die records die aan een gedefinieerde join-voorwaarde in beide (of alle) tabellen voldoen. Het is de standaard SQL-join.

7. Wat is een CROSS JOIN?

Een CROSS JOIN maakt een cartesisch product, wat betekent dat elke rij uit de eerste tabel wordt gecombineerd met elke rij uit de tweede tabel. Dit resulteert in een dataset waarvan het aantal rijen gelijk is aan het product van het aantal rijen in de twee tabellen.

8. Is het mogelijk om een SQL-tabel met zichzelf te joinen?

Ja, dit gebeurt doorgaans via een zogenaamde self-join. Een self-join is een type JOIN dat wordt gebruikt om rijen binnen dezelfde tabel te vergelijken. In tegenstelling tot andere SQL JOIN-queries, die twee of meer tabellen joinen, join je bij een self-join een tabel met zichzelf.

9. Wat is het verschil tussen FULL JOIN en CROSS JOIN?

Een FULL JOIN retourneert alle records uit beide tabellen, inclusief overeenkomende records op basis van de ON-voorwaarde. Als er geen match is, worden alle rijen opgenomen en worden niet-overeenkomende kolommen gevuld met NULL-waarden.

Daarentegen retourneert een CROSS JOIN alle mogelijke combinaties van alle rijen uit beide tabellen, wat resulteert in een cartesisch product. Dit levert doorgaans een aanzienlijk grotere tabel op dan het resultaat van een FULL JOIN, omdat er geen voorwaarde is die de output beperkt.

10. Wat is het doel van aliassen gebruiken in SQL JOINS?

Naarmate queries complexer worden, kunnen namen lang en onhandig worden. Om alles overzichtelijker te maken, kunnen we aliassen gebruiken om nieuwe namen toe te wijzen aan items in de query, waaronder kolommen en tabellen. Om een alias te geven, gebruiken we de AS-clausule.

10 geavanceerde interviewvragen over SQL-joins

11. Wat is een EQUI JOIN?

Een EQUI JOIN is een type join-operatie in een database die rijen uit twee of meer tabellen combineert op basis van een matchende voorwaarde met behulp van de gelijkheidsoperator (=). Het wordt gebruikt om data op te halen waarbij waarden in opgegeven kolommen gelijk zijn.

Een EQUI JOIN levert dezelfde resultaten op als een INNER JOIN, maar met een andere syntaxis, zoals in het volgende voorbeeld:

SELECT COURSES.name, TECHNOLOGIES.name
FROM COURSES, TECHNOLOGIES
WHERE COURSES.technology_id = TECHNOLOGIES.technology_id;
SELECT COURSES.name, TECHNOLOGIES.name
FROM COURSES
INNER JOIN TECHNOLOGIES
ON COURSES.technology_id = TECHNOLOGIES.technology_id;

12. Wat is het verschil tussen de ON- en USING-clausules in een join?

Meestal gebruik je het trefwoord ON om de gemeenschappelijke kolommen in de twee tabellen te specificeren om de join te maken. Wanneer de kolommen die je gebruikt om te joinen in beide tabellen hetzelfde heten, kan de USING-clausule als verkorte notatie worden gebruikt.

Als bijvoorbeeld de tabellen COURSES en TECHNOLOGIES een gemeenschappelijke kolom met de naam ‘technology_id’ hebben, kun je de volgende query gebruiken

SELECT * FROM COURSES 
JOIN TECHNOLOGIES
USING (technology_id);

13. Wat is een NATURAL JOIN?

Een NATURAL JOIN wordt gebruikt om een JOIN te maken op basis van gemeenschappelijke kolommen in twee tabellen. Gemeenschappelijke kolommen zijn kolommen die in beide tabellen dezelfde naam hebben.

Voortbouwend op het voorbeeld in de vorige vraag, zouden we dezelfde query als volgt kunnen schrijven:

SELECT * FROM COURSES 
NATURAL JOIN TECHNOLOGIES

14. Wat is het verschil tussen de JOIN-clausule en de UNION-clausule?

De JOIN-clausule wordt gebruikt om data te combineren tot nieuwe kolommen op basis van de gemeenschappelijke kolommen van twee of meer tabellen.

Daarentegen wordt de UNION-clausule gebruikt om data te combineren tot nieuwe rijen, gebaseerd op het resultaat van twee of meer SELECT-instructies. Met andere woorden, UNION wordt gebruikt om datasets rij-voor-rij te concatenëren. Om fouten te voorkomen, moet elke SELECT-instructie binnen UNION hetzelfde aantal kolommen hebben en moeten de kolommen vergelijkbare datatypes hebben. Voor een volledig overzicht van gerelateerde operaties, zie onze gids over setoperators in SQL.

15. Wat is een semi-join?

Semi-join-queries worden doorgaans uitgevoerd in de vorm van subqueries waarbij rijen alleen uit de eerste (linker) tabel worden opgehaald op basis van een voorwaarde (of een set voorwaarden) die wordt gematcht in de tweede tabel. In tegenstelling tot reguliere joins, die de overeenkomende rijen uit beide tabellen opnemen, bevat een semi-join in het resultaat alleen kolommen uit de linkertabel.

-- Semi-join using EXISTS: find customers who have placed orders
SELECT customer_id, customer_name
FROM customers
WHERE EXISTS (
    SELECT 1 FROM orders
    WHERE orders.customer_id = customers.customer_id
);

16. Wat is een anti-join?

Anti-joins, ook wel anti-semi-joins genoemd, zijn precies het tegenovergestelde van semi-joins. Bij een anti-join worden rijen opgehaald uit de eerste tabel op basis van een voorwaarde (of set voorwaarden) die niet wordt gematcht in de tweede tabel.

-- Anti-join using NOT EXISTS: find customers who have never ordered
SELECT customer_id, customer_name
FROM customers
WHERE NOT EXISTS (
    SELECT 1 FROM orders
    WHERE orders.customer_id = customers.customer_id
);

17. Wat is het verschil tussen de INTERSECT-clausule en een INNER JOIN?

Een INNER JOIN combineert data uit twee of meer tabellen op basis van een gespecificeerde relatie, meestal met een gedeelde kolom of veld als join-voorwaarde. Dit resulteert in een dataset met rijen waarbij aan de join-voorwaarde is voldaan.

Daarentegen vereist de INTERSECT-clausule geen directe tabelrelatie. In plaats daarvan werkt deze met volledige SELECT-instructies en retourneert alleen de rijen die in beide resultaten voorkomen. Om de INTERSECT-clausule te gebruiken, moeten de SELECT-instructies hetzelfde aantal kolommen en compatibele datatypes hebben.

18. Met welke performance-overwegingen moet je rekening houden bij het gebruik van CROSS JOINS?

Omdat CROSS JOIN een gepaarde combinatie retourneert van elke rij uit de eerste tabel met elke rij uit de tweede tabel, kan dit resulteren in een extreem grote tabel, vooral als de te joinen tabellen al groot zijn. Wees dus voorzichtig met het gebruik van CROSS JOINS, omdat ze veel resources kunnen verbruiken en performanceproblemen kunnen veroorzaken.

19. Wat versta je onder een conditionele JOIN?

Conditionele joins zijn een krachtige techniek om data uit meerdere tabellen te combineren op basis van specifieke voorwaarden, waardoor je dynamischere en flexibelere queries kunt maken. Conditionele joins helpen databasebeheerders aangepaste queries te definiëren die aanvullende statements kunnen bevatten, waaronder aggregatiefuncties, vergelijkingsoperatoren en logische operatoren.

20. Wat is het verschil tussen de WHERE- en ON-clausules in SQL JOINS?

Het doel van de ON-clausule is het specificeren van de join-voorwaarden—met andere woorden, definiëren hoe de tabellen moeten worden gejoined. Concreet geef je aan hoe de records moeten worden gematcht.

Daarentegen wordt de WHERE-clausule gebruikt om de filtervoorwaarden te specificeren, dus om te bepalen welke rijen in het resultaat moeten blijven. Een JOIN die een filtervoorwaarde bevat, kun je beschouwen als een conditionele JOIN.

Wil je de volledige volgorde waarin SQL queries verwerkt—waaronder wanneer ON en WHERE worden geëvalueerd—begrijpen? Zie dan onze gids over de volgorde van uitvoering in SQL.

De verschillende typen SQL-joins vergeleken

De onderstaande tabel biedt een beknopte en duidelijke vergelijking van de verschillende typen SQL-joins, zodat lezers makkelijker begrijpen in welke situaties elk type JOIN het best kan worden toegepast:

Type JOIN Definitie Use-cases
INNER JOIN Retourneert alleen de rijen met overeenkomende waarden in beide tabellen. Gebruikt wanneer je records met overeenkomende waarden in beide tabellen wilt ophalen. Vaak gebruikt om data te combineren die via een foreign key aan elkaar gerelateerd is.
LEFT JOIN (LEFT OUTER JOIN) Retourneert alle rijen uit de linkertabel en de overeenkomende rijen uit de rechtertabel. Rijen in de linkertabel zonder match in de rechtertabel bevatten NULL. Nuttig om alle records uit de linkertabel op te halen, met de overeenkomende data in de rechtertabel, indien beschikbaar. Vaak gebruikt wanneer je alle items in één tabel wilt vinden en wilt zien of ze een overeenkomstig item in een andere hebben.
RIGHT JOIN (RIGHT OUTER JOIN) Retourneert alle rijen uit de rechtertabel en de overeenkomende rijen uit de linkertabel. Rijen in de rechtertabel zonder match in de linkertabel bevatten NULL. Vergelijkbaar met LEFT JOIN, maar met focus op de rechtertabel. Gebruikt wanneer je alle records uit de rechtertabel nodig hebt, ongeacht of er matches in de linkertabel zijn.
FULL JOIN (FULL OUTER JOIN) Retourneert alle rijen wanneer er een match is in ofwel de linker- of de rechtertabel. Als er geen match is, staat er NULL aan de kant zonder match. Nuttig om data te combineren die in één van beide tabellen voorkomt en om niet-gematchte data uit beide tabellen vast te leggen.
SELF JOIN Een join waarbij een tabel met zichzelf wordt gejoined. Ingezet wanneer je rijen binnen dezelfde tabel wilt vergelijken, bijvoorbeeld om relaties in hiërarchische data te vinden of waarden in verschillende rijen te vergelijken.
CROSS JOIN Produceert een cartesisch product van de twee tabellen, wat betekent dat elke rij van de eerste tabel wordt gecombineerd met elke rij van de tweede tabel. Wordt doorgaans gebruikt wanneer je alle combinaties van twee datasets nodig hebt, zoals het genereren van testdata of het verkennen van alle mogelijke combinaties.

Voorbereiden op je interview over SQL-joins

Een grondige voorbereiding op je SQL-interview is cruciaal om deze fase van de sollicitatie te halen. Zoals we hebben gezien, zijn er heel wat joins om te leren. Wil je een beginnersvriendelijke gids voor SQL-joins, dan raden we je sterk aan om onze Introduction to SQL Joins te lezen. Of, als je joins echt goed wilt begrijpen, is oefenen de beste manier. Bekijk onze Joining Data in SQL Course om je queries te boosten met table joins en relationele verzamelingenleer.

Er valt echter nog veel meer over SQL-joins te zeggen. In de meeste SQL-interviews is dit slechts één van de vele onderwerpen waarover je wordt bevraagd om je SQL-vaardigheid te testen. Om je vertrouwd te maken met de meest voorkomende SQL-interviewvragen, heb ik de volgende gidsen samengesteld:

Door de grote mate van onzekerheid rond interviews kan deze fase van het sollicitatieproces stressvol zijn. Uiteindelijk is het kennen van de vragen slechts een deel van het verhaal. De rest is weten hoe je je tijdens het interview opstelt.

Om je te helpen het interview te kraken, hier een paar tips en trucs.

  • Niemand verwacht dat je alles weet. Een specifieke skill niet hebben is normaal. Als het bedrijf om een oplossing in R vraagt maar jij weet het alleen in Python, laat zien hoe je het probleem in Python oplost en toon je bereidheid om R te leren.
  • Denk na voordat je antwoordt. Vraag om meer tijd als de vraag dat vereist. Dat laat zien dat je hun vragen serieus neemt. Doe dit echter niet bij elke vraag.
  • Leg uit waarom jouw rol essentieel is voor het bedrijf. Soms, vooral bij kleinere bedrijven, weten ze niet precies waarom ze een data scientist nodig hebben. Benadruk in dat geval hoe je de zichtbaarheid en winst van het bedrijf kunt vergroten door bestaande producten te verbeteren of nieuwe oplossingen te creëren.
  • Sectoren verschillen. Werken als dataprofessional in verschillende domeinen kan sterk uiteenlopen. Een biotechbedrijf is anders dan een cloudaanbieder. Besteed tijd aan het begrijpen van de specifieke kenmerken van de sector van het bedrijf en laat zien dat je wilt leren. Fundamenteler werkt iedereen echter met data, en data is in de kern op vergelijkbare manieren benaderbaar, ongeacht de sector.
  • Met afwijzingen omgaan. Dat is de realiteit van de competitieve arbeidsmarkt van vandaag. Leer van je fouten, blijf nieuwe skills leren en verbeter de oude. Vraag advies aan meer senior collega’s, zeker als ze in data science werken. Je kunt ook om feedback vragen aan de interviewer als je bij een sollicitatie niet succesvol was.

Conclusie

Je bent er! Ik hoop dat deze lijst met veelgestelde vragen over SQL-joins je helpt om je voor te bereiden en je interview te rocken. Heel veel succes met je aanstaande SQL-interviews.

Voel je intussen dat je meer zelfvertrouwen in je SQL-vaardigheden nodig hebt? DataCamp helpt je verder. Hieronder vind je een lijst met enkele van onze cursussen, tracks en speciaal SQL-materiaal om je skills te trainen:


Javier Canales Luna's photo
Author
Javier Canales Luna
LinkedIn

Ik ben een freelance data-analist en werk samen met bedrijven en organisaties wereldwijd aan data­scienceprojecten. Ook geef ik les in data science en heb ik meer dan twee jaar ervaring als docent. Ik schrijf regelmatig artikelen over data science in het Engels en Spaans; sommige daarvan zijn gepubliceerd op bekende platforms zoals DataCamp, Towards Data Science en Analytics Vidhya. Als data scientist met een achtergrond in politicologie en recht wil ik werken op het snijvlak van openbaar beleid, recht en technologie. Ik zet de kracht van ideeën in om innovatieve oplossingen en verhalen te ontwikkelen die helpen bij het aanpakken van urgente uitdagingen, met name de klimaatcrisis. Ik beschouw mezelf als autodidact, een eeuwige leerling en een groot voorstander van multidisciplinariteit. Het is nooit te laat om nieuwe dingen te leren.

Onderwerpen

Begin vandaag nog met je SQL-reis!

Cursus

SQL toepassen op problemen uit de praktijk

4 Hr
35.9K
Zoek tabellen, sla nieuwe tabellen en weergaven op en beheer ze, en schrijf onderhoudbare SQL-code om zakelijke vragen te beantwoorden.
Bekijk detailsRight Arrow
Begin met de cursus
Meer zienRight Arrow
Gerelateerd

blog

AI vanaf nul leren in 2026: een complete gids van de experts

Ontdek alles wat je moet weten om in 2026 AI te leren, van tips om te beginnen tot handige resources en inzichten van industrie-experts.
Adel Nehme's photo

Adel Nehme

15 min

Meer zienMeer zien