You are on page 1of 9

Data uit meerdere tabellen

Data & Informatie


Inhoud

• Samenvoegen tabellen (Joinen)

• Herhaling SQL SELECT ... FROM ... WHERE ...

• SELECT op meerdere tabellen

Data & Informatie |2


Join

• SQL SELECT kan ook toegepast worden op meerdere tabellen

• Het combineren (samenvoegen) van die tabellen wordt JOIN(ing)


genoemd

• Twee zaken moeten dan gespecificeerd worden in het SQL – commando:


– tabellen die gebruikt worden: in de FROM
– gemeenschappelijke attributen in de tabellen: in de WHERE

Data & Informatie |3


Join: Foute Poging

Wat is de kamergrootte van verkoper Baker?

SELECT KAMER.Grootte
FROM KAMER, VERKOPER
WHERE VERKOPER.VerkoperNaam = ‘Baker’ ;

VERKOPER KAMER
VerkoperNr VerkoperNaam CommPerc JaarinDiens KamerNumme KamerN Telefoon Grootte
t t r r
137 Baker 10 1995 1284 1253 901-555- 120
4276
186 Adams 15 2001 1253
1227 901-555- 100
204 Dickens 10 1998 1209 0364
361 Carlyle 20 2001 1227 1284 901-555- 120
7335
Data & Informatie 1209 901-555- 95 |4
3108
Join: Goede Poging

Wat is de kamergrootte van verkoper Baker?

SELECT KAMER.Grootte
FROM KAMER, VERKOPER
WHERE VERKOPER.KamerNummer = KAMER.KamerNr
AND VERKOPER.VerkoperNaam = ‘Baker’ ;
VERKOPER KAMER
VerkoperNr VerkoperNaam CommPerc JaarinDiens KamerNumme KamerN Telefoon Grootte
t t r r
137 Baker 10 1995 1284 1253 901-555- 120
4276
186 Adams 15 2001 1253
1227 901-555- 100
204 Dickens 10 1998 1209 0364
361 Carlyle 20 2001 1227 1284 901-555- 120
7335
Data & Informatie 1209 901-555- 95 |5
3108
Different Types of SQL JOINs
•Er zijn meerdere mogelijkheden om tabellen te joinen. We behandelen en
gebruiken alleen de INNER JOIN!

•(INNER) JOIN: Returns records that have matching values in both tables
•LEFT (OUTER) JOIN: Returns all records from the left table, and the matched
records from the right table
•RIGHT (OUTER) JOIN: Returns all records from the right table, and the
matched records from the left table
•FULL (OUTER) JOIN: Returns all records when there is a match in either left
or right table

Data & Informatie |6


SQL Voorbeeld: JOIN (I)

Wat is de naam van de verkoper, die verantwoordelijk is voor klantnummer


1525?

SELECT VERKOPER.Naam
VerkoperNaam
FROM VERKOPER, KLANT Carlyle

WHERE VERKOPER.VerkoperNr = KLANT. VerkoperNr

AND KlantNr = 1525;

Data & Informatie |7


SQL Voorbeeld: JOIN (II)

Geef de namen van producten waarvan verkoper Adams er meer dan 2.000
heeft verkocht.

SELECT PRODUCT.ProductNaam

FROM VERKOPER, PRODUCT, OMZET

WHERE VERKOPER.VerkoperNr = OMZET.VerkoperNr


ProductNaa
AND OMZET.ProductNr = PRODUCT. ProductNr m
Hamer
AND VerkoperNaam = ’Adams’ Zaag

AND Aantal > 2000 ;


Data & Informatie |8
Opdracht moviedatabase

• Wat was het jaar waarin de starwars film “Star Wars: Episode V - The
Empire Strikes Back” werd gereleased?

• Wat was de IMDB score van deze film?

• Welke 3 acteurs zijn terug te vinden in de database die speelden in deze


film?

• In hoeveel films ouder dan 1986 speelde Harrison Ford een rol? (Bonus)

Data & Informatie |9

You might also like