SQL & Databases Les 4

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

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

time-iconLesson duration is: 60 min

Items in this lesson

Slide 1 - Slide

Vandaag
  • Herhaling
  • Bijzondere voorwaarden
  • Sorteren

Slide 2 - Slide

Herhaling
Jokers zijn:
  • %: maakt niet welke en hoeveel tekens er voor of na het woord
  • _: precies één willekeurig teken
  • \: escapen

Slide 3 - Slide

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 4 - Open question

Slide 5 - Slide

Bijzondere voorwaarden
Je weet nu hoe je voorwaarden moet opgeven in je query. Naast de voorwaarden van de vorige lessen zijn er twee soorten bijzondere voorwaarden;
  • voorwaarden met datums
  • voorwaarden met lege kolommen.

Slide 6 - Slide

Voorwaarden met datums
In de tabel bestelling worden alle bestellingen bijgehouden. Van iedere bestelling is er een bestelnummer (id), klantnummer van wie de bestelling was en de datum en tijdstip waarop de bestelling geplaatst is.

Slide 7 - Slide

Voorbeeld 1
Om voorwaarden bij de datumtijd kolom op te geven, moet je ook aangeven voor welk onderdeel van de kolom datumtijd die voorwaarde geldt. Stel dat je een overzicht wilt van alle bestellingen uit het jaar 2008:

De waarde van de kolom datumtijd is in het formaat: YYYY-MM-DD. Met de functie LIKE kun je voorwaarden maken voor bepaalde delen van de datum, bijvoorbeeld het jaar.

Slide 8 - Slide

Voorbeeld 2
Als je een overzicht wilt van alle bestellingen die vanaf 1 januari 2017 geplaatst zijn, kun je de volgende query gebruiken:

Let op dat je voor een datum de Engelse notatie gebruikt, dus jaar-maand-dag. Het is ook mogelijk om de volgende notatie te gebruiken:
WHERE datum >= 20170101

Slide 9 - Slide

Welke bestellingen zijn 's avonds tussen 11 en 12 uur gedaan?

Slide 10 - Open question

Slide 11 - Slide

Welke bestellingen zijn op de eerste dag van een maand gedaan?

Slide 12 - Open question

Slide 13 - Slide

Voorwaarden met lege cellen
Als de waarde van een kolom niet bekend is, krijgt zo'n kolom een null-waarde: een niet nader gedefinieerde waarde. Stel dat in een klantendatabase wordt vastgelegd onder welk telefoonnummer een klant bereikbaar is. Er zullen ongetwijfeld personen zijn die niet telefonisch bereikbaar (willen) zijn en in dat geval kan het telefoonnummer niet ingevuld worden.

Slide 14 - Slide

Dat klinkt heel eenvoudig, maar in een database moet vastgelegd worden dat een waarde niet bekend is. Daarvoor dient het begrip null-waarde. Als een waarde niet bekend is, mag hiervoor geen spatie of het cijfer 0 worden ingevuld. Een spatie en een 0 zijn bekende waarden; een telefoonnummer kan niet een spatie of het getal 0 zijn.
De waarde null is een speciaal teken in de database.

Slide 15 - Slide

Voorbeeld 3
In de database van het restaurant hebben sommige producten een formaat. Bij dranken staat er small, medium of large. Maar bij burgers zijn er geen formaten. Als je een overzicht wilt van alle producten waar geen formaat van is, gebruik je de volgende query


Let op dat je niet = NULL gebruikt, maar IS NULL.

Slide 16 - Slide

Van welke producten uit categorie 1 is het formaat onbekend?

Slide 17 - Open question

Slide 18 - Slide

Sorteren
De volgorde van de rijen in het resultaat van een query lijken misschien willekeurig. Meestal worden de rijen weergegeven in de volgorde waarin ze in de database zijn toegevoegd.
Als je het resultaat bijvoorbeeld op prijs van laag naar hoog wilt weergegeven, moet je dit zelf aangeven. Dit doe je met ORDER BY. Na ORDER BY moet je een kolomnaam opgeven, eventueel gevolgd door het type sortering, namelijk oplopend of aflopend.

Slide 19 - Slide

In de app worden de producten in een categorie weergegeven op volgorde van alfabet. Producten die beginnen met de letter A staan links, producten die beginnen met de letter Z staan rechts.

Slide 20 - Slide

Bij het sorteren van tekst wordt er gesorteerd van A tot Z (of Z tot A). Bij getallen wordt er gesorteerd van klein naar groot (of groot naar klein).

Slide 21 - Slide

ASC is de afkorting van ascending, het Engelse woord voor oplopend.
DESC is de afkorting van descending, het Engelse woord voor aflopend.
Als er geen type sortering wordt opgegeven, krijg je de volgorde van klein naar groot of van A tot Z te zien. Dat betekent dat je ASC niet verplicht hoeft toe te voegen.

Slide 22 - Slide

Geef een overzicht van de producten uit categorie 6 waarbij de prijs gesorteerd is van laag naar hoog.

Slide 23 - Open question

Slide 24 - Slide

Geef een overzicht van de bestellingen die in december 2015 zijn gedaan. Sorteer dit overzicht op datum aflopend, dus van 31 december naar 1 december.

Slide 25 - Open question

Slide 26 - Slide

Geef een overzicht van de namen en het aantal koolhydraten van de producten die Egg of Bacon bevatten. Sorteer op aantal koolhydraten van laag naar hoog.

Slide 27 - Open question

Slide 28 - Slide

Volgende les
  • Herhaling
  • LIMIT
  • rekenen in SELECT

Slide 29 - Slide