SQL & Databases Les 4

1 / 29
suivant
Slide 1: Diapositive
InformaticaMiddelbare schoolhavo, vwoLeerjaar 5

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

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

Éléments de cette leçon

Slide 1 - Diapositive

Vandaag
  • Herhaling
  • Bijzondere voorwaarden
  • Sorteren

Slide 2 - Diapositive

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

Slide 3 - Diapositive

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 - Question ouverte

Slide 5 - Diapositive

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

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

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

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

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

Slide 10 - Question ouverte

Slide 11 - Diapositive

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

Slide 12 - Question ouverte

Slide 13 - Diapositive

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

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

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

Van welke producten uit categorie 1 is het formaat onbekend?

Slide 17 - Question ouverte

Slide 18 - Diapositive

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

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

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

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

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

Slide 23 - Question ouverte

Slide 24 - Diapositive

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 - Question ouverte

Slide 26 - Diapositive

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 - Question ouverte

Slide 28 - Diapositive

Volgende les
  • Herhaling
  • LIMIT
  • rekenen in SELECT

Slide 29 - Diapositive