les 4 Tabellen combineren

Gebruik PC/laptop voor TEAMS
gebruik daarnaast je telefoon voor LessonUp!
1 / 25
volgende
Slide 1: Tekstslide
InformaticaMiddelbare schoolhavoLeerjaar 4

In deze les zitten 25 slides, met interactieve quizzen en tekstslides.

time-iconLesduur is: 30 min

Onderdelen in deze les

Gebruik PC/laptop voor TEAMS
gebruik daarnaast je telefoon voor LessonUp!

Slide 1 - Tekstslide

Vorige les
  • AND en OR en NOT
  • Gebruik van haakjes
  • LIKE met % en _
  • IN (...)
  • NULL waarden
  • Aliassen

Slide 2 - Tekstslide

AND en OR combineren
SELECT naam
FROM leerlingen
WHERE afdeling = 'HAVO'
                 OR
                 afdeling = 'VWO'
                 AND
                  gebDat < #01-01-2002#;

Slide 3 - Tekstslide

Waar moeten de haakjes staan?
A
WHERE (afdeling = 'HAVO' OR afdeling = 'VWO' AND gebDat < #01-01-2002#);
B
WHERE afdeling = 'HAVO' OR (afdeling = 'VWO' AND gebDat < #01-01-2002#);
C
WHERE (afdeling = 'HAVO' OR afdeling = 'VWO') AND gebDat < #01-01-2002#;
D
WHERE afdeling = ('HAVO' OR afdeling = 'VWO') AND gebDat < #01-01-2002#;

Slide 4 - Quizvraag

LIKE

WHERE naam LIKE 'Jan%'
WHERE naam LIKE 'Jan_'

Slide 5 - Tekstslide

Hoe krijg ik records met de naam Jansen en Janssen maar zonder Jannesen?
A
WHERE naam LIKE 'Jan%sen'
B
WHERE naam LIKE 'Jan_sen'
C
WHERE naam LIKE 'Jan_en'
D
WHERE naam LIKE 'Jan%en'

Slide 6 - Quizvraag

IN
Meerdere mogelijkheden voor één veld
WHERE naam = 'Jan' or naam = 'Ciara' or naam = 'Sheila'

korter en duidelijker:
WHERE naam in ('Jan', 'Ciara', 'Sheila')

Slide 7 - Tekstslide

Hoe zoek je de rekeningen met saldo 450, 750 en 490?
A
WHERE saldo IN (450, 750, 390)
B
WHERE saldo IN ('450', '750', '390')
C
WHERE saldo IN 450, 750, 390
D
WHERE saldo IN ('450, 750, 390')

Slide 8 - Quizvraag

Lege waarden
Als je zoekt naar een veld dat LEEG is
WHERE veld IS NULL
(LET OP: dus niet WHERE veld = NULL !!)

SELECT datum, rekening_bij 
FROM transactie
WHERE rekening_af IS NULL

Slide 9 - Tekstslide

Aliassen
Een alias is een alternatieve naam voor een kolom.
Hiermee wordt duidelijker wat je met het resultaat bedoelt.

Voorbeeld:
SELECT rekening_bij AS 'Rekening waar geld bij komt'
FROM ... etc

Slide 10 - Tekstslide

Slide 11 - Tekstslide

BLOK G
Tabellen combineren

Slide 12 - Tekstslide

Tabellen combineren 1
Vaak wil je gegevens uit 2 of meer tabellen in je resultaat
Of een voorwaarde toevoegen die uit een andere tabel komt

Voorbeeld uit de lesstof over Buurtvereniging
Kinderen en hun adres weergeven
MAAR: roepnaam en adres zitten in 2 tabellen!

Slide 13 - Tekstslide

Tabellen combineren 2
SELECT roepnaam, naam, adres,
FROM leden, kinderen;

MAAR: Als je het zo doet worden ALLE records gecombineerd

DAAROM: je moet aangeven welke records bij elkaar horen!

Slide 14 - Tekstslide

Tabellen combineren 3
Gebruik het veld dat beide tabellen aan elkaar koppelt

SELECT roepnaam, naam, adres
FROM leden, kinderen
WHERE leden.lidnr = kinderen.lidnr

Slide 15 - Tekstslide

Tabellen combineren 4
Bij velden die in beide tabellen voorkomen moet je aangeven uit welke tabel je het wilt halen.
Dat geldt voor de SELECT en voor de WHERE!

SELECT roepnaam, naam, adres, leden.lidnr
FROM leden, kinderen
WHERE leden.lidnr = kinderen.lidnr

Slide 16 - Tekstslide

Wat is hier fout?
SELECT roepnaam, naam, lidnr
FROM leden, kinderen
WHERE lidnr = lidnr

Slide 17 - Open vraag

Juiste query
SELECT roepnaam, naam, adres, leden.lidnr
FROM leden, kinderen
WHERE leden.lidnr = kinderen.lidnr

Slide 18 - Tekstslide

Aliassen voor een tabel
Het is handig om voor een tabel een 'afkorting' te gebruiken als je meerdere tabellen nodig hebt.
De afkorting komt achter de tabelnaam

SELECT l.lidnr, roepnaam, naam, adres
FROM leden AS l, kinderen AS k
WHERE l.lidnr = k.lidnr

Slide 19 - Tekstslide

Tabellen combineren 5
Extra voorwaarden in je query komen er gewoon achter
Bijvoorbeeld: alleen kinderen onder 10 jaar

SELECT roepnaam, naam, adres
FROM leden AS l, kinderen AS k
WHERE l.lidnr = k.lidnr
AND geboortedatum > #2010-01-01#

Slide 20 - Tekstslide

Wat is hier fout?
SELECT roepnaam, naam, adres, lidnr
FROM leden, kinderen
WHERE naam = 'Dijkstra'

Slide 21 - Open vraag

Juiste query
SELECT roepnaam, naam, adres, leden.lidnr
FROM leden, kinderen
WHERE leden.lidnr = kinderen.lidnr
AND naam = 'Dijkstra'

Slide 22 - Tekstslide

Wat is hier fout? (meerdere fouten!)
SELECT lidnr, roepnaam, k.naam
FROM leden, kinderen AS k
WHERE geboortedatum > #2010-01-01#

Slide 23 - Open vraag

Huiswerk
Aan de slag 30 en 31 
Via de planner inleveren.

Oefen zelf ook met query's maken!

Slide 24 - Tekstslide

Formatieve toets blok E, F, G
VERPLICHT!
CD-DVD database downloaden (via planner)
Maken op maandag of dinsdag (via planner)

zelf nakijken, geen beoordeling

Slide 25 - Tekstslide