les 4 Tabellen combineren

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

Cette leçon contient 25 diapositives, avec quiz interactifs et diapositives de texte.

time-iconLa durée de la leçon est: 30 min

Éléments de cette leçon

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

Slide 1 - Diapositive

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

Slide 2 - Diapositive

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

Slide 3 - Diapositive

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 - Quiz

LIKE

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

Slide 5 - Diapositive

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 - Quiz

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 - Diapositive

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 - Quiz

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 - Diapositive

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 - Diapositive

Slide 11 - Diapositive

BLOK G
Tabellen combineren

Slide 12 - Diapositive

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 - Diapositive

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 - Diapositive

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 - Diapositive

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 - Diapositive

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

Slide 17 - Question ouverte

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

Slide 18 - Diapositive

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 - Diapositive

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 - Diapositive

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

Slide 21 - Question ouverte

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

Slide 22 - Diapositive

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

Slide 23 - Question ouverte

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

Oefen zelf ook met query's maken!

Slide 24 - Diapositive

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 - Diapositive