SQL & Databases Les 3

1 / 32
next
Slide 1: Slide
InformaticaMiddelbare schoolhavo, vwoLeerjaar 5

This lesson contains 32 slides, with interactive quizzes and text slides.

time-iconLesson duration is: 60 min

Items in this lesson

Slide 1 - Slide

Vandaag
  • Herhaling
  • LIKE

Slide 2 - Slide

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

Slide 3 - Open question

Slide 4 - Slide

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

Slide 5 - Open question

Slide 6 - Slide

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 question

Slide 8 - Slide

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

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

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

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

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

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

SQL:       %
Access: *

zijn de belangrijkste

Slide 14 - Slide

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

Slide 15 - Open question

Slide 16 - Slide

Welke producten bevatten bacon en zijn beschikbaar?

Slide 17 - Open question

Slide 18 - Slide

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

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

Slide 20 - Slide

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

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

Slide 22 - Open question

Slide 23 - Slide

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

Slide 24 - Open question

Slide 25 - Slide

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

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

SQLlite
Mysql

Slide 28 - Slide

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

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

Slide 30 - Open question

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

Volgende les
  • Herhaling
  • Bijzondere voorwaarden

Slide 32 - Slide