SQL & Databases Les 3

1 / 32
volgende
Slide 1: Tekstslide
InformaticaMiddelbare schoolhavo, vwoLeerjaar 5

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

time-iconLesduur is: 60 min

Onderdelen in deze les

Slide 1 - Tekstslide

Vandaag
  • Herhaling
  • LIKE

Slide 2 - Tekstslide

Welke producten uit categorie 1 bevatten 500 of meer calorieën?

Slide 3 - Open vraag

Slide 4 - Tekstslide

Geef een overzicht van de namen van alle producten uit categorie 5 en categorie 6.

Slide 5 - Open vraag

Slide 6 - Tekstslide

Geef een overzicht van de namen van alle producten uit categorie 1 die niet beschikbaar zijn en de namen van alle producten uit categorie 9 waar de eenheid in gram wordt uitgedrukt.

Slide 7 - Open vraag

Slide 8 - Tekstslide

Bij deze vraag bestaat de WHERE-voorwaarde uit twee delen.
  • Je zoekt producten uit categorie 1 die niet beschikbaar zijn
  • en je zoekt producten uit categorie 9 die als eenheid gram hebben. 
Combineer deze twee delen met OR
De twee delen bestaan op hun beurt ook weer uit twee delen. Combineer deze met AND

Slide 9 - Tekstslide

LIKE
Soms is het niet mogelijk om de exacte inhoud van een veld te weten. Hierdoor wordt het selecteren van bepaalde gegevens erg lastig. Om dit probleem op te lossen, is er de functie LIKE.
Met LIKE kun je in combinatie met een WHERE-voorwaarde speciale jokertekens gebruiken. Dit is vooral handig bij een zoekfunctie.

Slide 10 - Tekstslide

Voorbeeld LIKE
Je hebt zin in een kipproduct. Je kunt naar de producten in de categorie 'Chicken & Fish' kijken, maar sommige producten uit de categorieën 'Breakfast' en 'Salads' bevatten ook kip. Als je bij de zoekfunctie 'chicken' invoert, krijg je alle producten waar kip in zit, ongeacht de categorie. De query die de app hiervoor gebruikt, zou de volgende kunnen zijn:

Slide 11 - Tekstslide

Hier zie je dat salads id 4 heeft en we weten dat id in de tabel categorie hetzelfde is als categorie_id in de tabel product.

Slide 12 - Tekstslide

In de WHERE-voorwaarde geef je op dat de inhoud van de kolom naam aan het patroon "%chicken%" moet voldoen.
Je zet altijd aanhalingstekens om het patroon heen.
Het procentteken (%) in het patroon is de joker. Met deze joker maak je aan de database duidelijk dat het niet uitmaakt welke en hoeveel tekens er voor of na het woord 'chicken' moeten komen. Ook als er helemaal niets voor of na het woord 'chicken' komt, wordt er aan deze voorwaarde voldaan.

Slide 13 - Tekstslide

Jokers
Er zijn verschillende maskers (schrijfwijzes) voor een joker:

SQL:       %
Access: *

zijn de belangrijkste

Slide 14 - Tekstslide

Welke klanten hebben een e-mailadres bij gomail.com?

Slide 15 - Open vraag

Slide 16 - Tekstslide

Welke producten bevatten bacon en zijn beschikbaar?

Slide 17 - Open vraag

Slide 18 - Tekstslide

Je hebt gezien dat het procentteken een joker is. Deze joker staat voor 0 of meerdere willekeurige tekens.

Er is nog een joker, de underscore (_). In tegenstelling tot het procentteken, betekent een underscore precies één willekeurig teken.

Slide 19 - Tekstslide

De underscore kun je bijvoorbeeld gebruiken om woorden van een bepaalde lengte te selecteren. Bijvoorbeeld alle voornamen die bestaan uit 3 letters

Slide 20 - Tekstslide

NOT LIKE
Bij de relatieoperatoren is er de operator niet gelijk aan. Als je dit in combinatie met LIKE wilt doen, moet je NOT LIKE gebruiken. Stel dat je een overzicht wilt van alle klanten die geen e-mailadres hebben dat eindigt op 'planeet.com'. Je gebruikt dan de volgende query

Slide 21 - Tekstslide

Welke producten uit categorie 1 beginnen niet met de letter 'A'.

Slide 22 - Open vraag

Slide 23 - Tekstslide

Welke klanten hebben een voornaam die 5 tekens lang is en begint met een A?

Slide 24 - Open vraag

Slide 25 - Tekstslide

Stel dat je op zoek bent naar alle productnamen waarin een underscore voorkomt. Klopt die query hiernaast?
Handjes voor  als je denkt van wel.

Slide 26 - Tekstslide

Escapen
Het geeft alle productnamen die minstens 1 teken lang zijn. Deze joker heeft voor een speciale betekenis. Als je een joker wilt gebruiken als teken om te zoeken, moet je het escapen.
Dat doe je door een backslash vóór de underscore te zetten. Door te escapen zorg je ervoor dat een teken niet meer zijn functie heeft, maar gezien wordt als een 'normaal' teken. Speciaal bij SQLite moet je ook opgeven met welk teken je gaat escapen. Dit doe je door achter het LIKE-patroon dit toe te voegen: ESCAPE "".

Slide 27 - Tekstslide

SQLlite
Mysql

Slide 28 - Tekstslide

Met een backslash kun je niet alleen de underscore escapen, maar ook het procentteken, bijvoorbeeld met LIKE "20%". Maar hoe kun je de backslash zelf escapen? Een backslash kun je escapen door er een backslash voor te zetten: \
Andere voorbeelden van bijzondere tekens om te escapen zijn:
\" Een dubbel aanhalingsteken
\n Een nieuwe regel
\t Een tab

Slide 29 - Tekstslide

Welke klanten hebben een e-mailadres met twee of meer underscores erin?

Slide 30 - Open vraag

Je kunt e-mailadressen controleren op juistheid door na te gaan of er een @-teken in staat, met daarvoor tekst en daarachter ook tekst. Het e-mailadres moet ten slotte eindigen met een punt en daarachter een extensie, zoals bijvoorbeeld .nl of .com. Welke klanten hebben een verkeerd e-mailadres (dus zonder @ of zonder punt met extensie) ingevoerd?

Slide 31 - Tekstslide

Volgende les
  • Herhaling
  • Bijzondere voorwaarden

Slide 32 - Tekstslide