Equi join

Een EQUIJOIN is een term voor een categorie join waarbij het is-gelijk-teken gebruikt wordt om twee of meerdere tabellen aan elkaar te knopen. Joins die hiertoe behoren zijn bijvoorbeeld de NATURAL JOIN, JOIN USING en JOIN ON met het = teken. Het is ook mogelijk twee tabellen samen te voegen met een vergelijking in de WHERE. Deze joins horen niet tot de ANSI-standaard maar ze worden ondersteund in elk Database Management System.

 

Voorbeeld van een EQUI JOIN met de vergelijking in de WHERE. Alle tabellen die je gebruikt komen op de WHERE regel.

 

SELECT employees.last_name, departments.department_name

FROM employees, departments

WHERE employees.department_id = departments.department_id;

 

clip0292

 

 

Voorbeelden van een EQUI JOINS met de vergelijking in de JOIN ON. De uitvoer is in beide gevallen exact hetzelfde.

 

SELECT employees.last_name, departments.department_name

FROM employees

 JOIN departments ON(employees.department_id = departments.department_id);

 

clip0294

 

Maar met een vergelijking in de WHERE kun je dus geen rijen tonen waarvan een van de kolommen NULL is. Met een LEFT JOIN ON kan dat wel en daarom is het verstandig jezelf aan te leren dat je altijd LEFT JOIN ON gebruikt.

 

Gebruik onderstaande query in plaats van de query met de vergelijking in de WHERE hierboven. Grant heeft geen department_name maar hij komt toch op het overzicht.

 

SELECT last_name, department_name

FROM employees LEFT JOIN departments ON employees.department_id = departments.department_id;

 

clip0143