SQL Joins uitleg

Wanneer je als tester gegevens in een Database moet controleren gebruiken we daar in de regel SQL voor. Een krachtige SQL clause is de SQL Join.

Het is soms lastig om de werking van een SQL Join te doorgronden. In dit artikel proberen we het toepassen van verschillende SQL Joins uit te leggen aan de hand van Venn-diagrammen en voorbeelden.

Wat is een SQL Join?

Een SQL join clausule is een onderdeel van een SQL-query. Het combineert de gegevens van 2 of meer tabellen uit een database. Een join is een middel voor het combineren van de kolommen van een of meer tabellen met behulp van de gemeenschappelijke waarden van elk.

De volgende SQL Joins worden behandeld:

  • INNER JOIN
  • LEFT OUTER JOIN
  • RIGHT OUTER JOIN
  • FULL OUTER JOIN
  • LEFT OUTER JOIN with exclusion
  • RIGHT OUTER JOIN with exclusion
  • FULL OUTER JOIN with exclusion

Onderstaande 2 tabellen worden in de uitleg als voorbeeld gebruikt:

Tabellen voor de uitleg van SQL Joins

INNER Join

Een INNER Join geeft een rij terug als er tenminste een (1) overeenkomst is in de kolommen in de ON clause

INNER Join uitgelegd

LEFT OUTER Join

Een LEFT OUTER Join geeft altijd alle rijen terug van de linker tabel (TabelA). Als er vervolgens ook overeenkomsten zijn met de rechter tabel (TabelB) dan worden deze rijen ook weergegeven. Als er geen overeenkomst is, zal de ontbrekende kant null bevatten.

Uitleg LEFTOUTER Join

RIGHT OUTER Join

Een RIGHT OUTER Join geeft altijd alle rijen terug van de rechter tabel (TabelB). Als er vervolgens ook overeenkomsten zijn met de linkertabel (TabelA) dan worden deze ook weergegeven. Als er geen overeenkomst is, zal de ontbrekende kant null bevatten.

Uitleg RIGHT OUTER Join

FULL OUTER Join

Een FULL OUTER Join geeft altijd alle rijen terug van de linker tabel (TabelA) en de rechter tabel (TabelB), met bijpassende rijen van beide kanten. Als er geen overeenkomst is, zal de ontbrekende kant null bevatten.

Uitleg FULL OUTER Join

LEFT OUTER Join with exclusion

Een LEFT OUTER Join met uitsluiting geeft alle rijen terug van de linker tabel (TabelA) en die niet voorkomen in de rechter tabel (TabelB). De uitsluiting gebeurt met een where clause.

Uitleg LEFT OUTER Join met uitsluiting

RIGHT OUTER Join with exclusion

Een RIGHT OUTER Join geeft alle rijen terug van de rechter tabel (TabelB) en die niet voorkomen in de linker tabel (TabelA). De uitsluiting gebeurt met een where clause.

Uitleg RIGHT OUTER Join met uitsluiting

FULL OUTER Join with exclusion

Geeft alleen de unieke rijen terug van de linker tabel (TabelA) en de rechter tabel (TabelB). De uitsluiting gebeurt met een where clause.

Uitleg FULL OUTER Join met uitsluiting

A

Ook interessant?

Toets je kennis

SQL voor testers

Deze toets bevat 20 vragen over SQL. De vragen zijn gericht op kennis die voor een tester van belang is ...
Datawarehouse

Wat is een datawarehouse (DWH)?

Een datawarehouse, afgekort DWH, is een database. Het verschil met een gewone database is de architectuur en de opslag van ...
ETL in datawarehouse

Wat is ETL in Datawarehouse?

ETL komt vanuit datawarehousing en staat voor Extract, Transform, Load. ETL dekt het proces van hoe data wordt geladen van ...
ETL proces en tooling

ETL proces en tooling

Het ETL proces lijkt heel simpel. Zoals met elke applicatie is er een mogelijkheid dat het ETL proces faalt. Dit ...
Blijf op de hoogte van onze nieuwste ontwikkelingen, schrijf je hier in voor de nieuwsbrief!