Structured Query Language (SQL)

Structured Query Language (SQL)
1 / 29
suivant
Slide 1: Diapositive
InformaticaMiddelbare schoolhavo, vwoLeerjaar 4-6

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

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

Éléments de cette leçon

Structured Query Language (SQL)

Slide 1 - Diapositive

Leerdoel
Aan het eind van deze les ken je de opbouw van Structured Query Language (SQL) en kan je zelf een simpele query schrijven.

Slide 2 - Diapositive

SQL?
  •  SQL staat voor Structured Query Language


  • SQL is een vraagtaal voor het opvragen van gegevens uit een database


  • Je vraagt gegevens op met een zogenaamde query


Slide 3 - Diapositive

Praktijkvoorbeeld
App Fastfood keten

Slide 4 - Diapositive

Welke informatie biedt de app?
  • Producten
  • Productcategorieën
  • Klanten
  • Bestellingen
  • Bestelregels
Relationeel model

Slide 5 - Diapositive

Tabellen
De database van de app bestaat dus uit meerdere tabellen.


Slide 6 - Diapositive

Een eenvoudige query (1)
We willen alle klantgegevens uit de tabel klant opvragen.

SELECT * FROM klant
Resultaat

Slide 7 - Diapositive

Een eenvoudige query (2)
We willen uit de tabel klant alleen de e-mailadressen opvragen.

SELECT emailadres FROM klant
ERD

Slide 8 - Diapositive

Nu jullie!
URL database:

Gebruikersnaam:

Wachtwoord:

Slide 9 - Diapositive

Voer deze query's eens uit
  • SELECT * FROM klant

  • SELECT naam FROM klant

  • SELECT naam, emailadres FROM klant
timer
3:00

Slide 10 - Diapositive

Maak deze query's
  1. Haal van alle producten de naam op

  2. Geef de naam van alle productcategoriën op
timer
3:00
ERD

Slide 11 - Diapositive

Query met een voorwaarde (1)
De tabel product heeft een attribuut met de naam "formaat"

We willen een query gaan schrijven die de naam en de prijs weergeeft van producten met formaat "large".

We stellen nu dus een voorwaarde aan het resultaat

Slide 12 - Diapositive

Query met een voorwaarde (2)
Geef de naam en de prijs van alle producten met formaat "large"

De SQL query ziet er dan als volgt uit


SELECT naam, prijs
FROM product
WHERE formaat = "large"
Resultaat

Slide 13 - Diapositive

Query met een voorwaarde (3)
Geef de naam van alle producten die duurder zijn dan €3

De SQL query ziet er dan als volgt uit


SELECT naam
FROM product
WHERE prijs > 3
Resultaat

Slide 14 - Diapositive

Voer de query's zelf eens uit
timer
3:00
SELECT naam, prijs
FROM product
WHERE formaat = "large"
SELECT naam
FROM product
WHERE prijs > 3

Slide 15 - Diapositive

Relatieoperatoren
=       gelijk aan
!=      niet gelijk aan
>       groter dan
>=     groter dan of gelijk aan
<       kleiner dan
<=     kleiner dan of gelijk aan

Slide 16 - Diapositive

Nu jullie weer, maak deze query's
  1. Geef de naam van alle producten met meer
    dan 600 caloriën

  2. Geef de naam en de prijs van alle producnten
    met meer dan 25 mg suiker
timer
3:00
ERD

Slide 17 - Diapositive

Twee voorwaarden tegelijk (1)
Geef de naam van alle producten die meer dan 600 caloriën bevatten en meer dan 25 mg suiker bevatten.
SELECT naam
FROM product
WHERE calorieen < 600
AND suiker < 25

Slide 18 - Diapositive

Twee voorwaarden tegelijk (2)
Geef de naam van alle producten die meer dan dan 600 caloriën bevatten of duurder zijn dan €4.
SELECT naam
FROM product
WHERE calorieen < 600
OR prijs < 4

Slide 19 - Diapositive

Voer de query's zelf eens uit
timer
3:00
SELECT naam
FROM product
WHERE calorieen < 600
AND suiker < 25
SELECT naam
FROM product
WHERE calorieen < 600
OR prijs < 4

Slide 20 - Diapositive

Zoeken in meerdere tabellen
Het zoeken van informatie in één tabel is handig, maar bij een database hebben diverse tabellen een relatie met elkaar. De relatie wordt gelegd met de vreemde sleutel.

Met een SQL query moet je dus kunnen zoeken in meer dan één tabel tegelijkertijd. Dit doe je met JOIN

Slide 21 - Diapositive

Voorbeeld
We willen de namen van de producten bij alle bestelregels. In de tabel bestelregel wordt van een product de product_id bijgehouden. Dit is een vreemde sleutel die verwijst naar het attribuut id in de tabel product.

Denk even goed na wat hierboven staat. Maak gebruik van de ERD.
ERD

Slide 22 - Diapositive

Voorbeeld (vervolg)
Stap 1 is het ophalen van de product_id uit de tabel bestelregel.

SELECT bestelregel.product_id
FROM bestelregel

Slide 23 - Diapositive

Voorbeeld (vervolg)
Stap 2 is het ophalen van de naam van het product uit de tabel product.

SELECT bestelregel.product_id, product.naam
FROM bestelregel
INNER JOIN product
ON product.id=bestelregel.product_id

Slide 24 - Diapositive

Nu jullie weer
Maar de SQL query die bij alle bestellingen de naam van de klant weergeeft.

Slide 25 - Diapositive

Antwoord
SELECT bestelling.klant_id, klant.naam
FROM bestelling
INNER JOIN klant
ON klant.id=bestelling.klant_id

Slide 26 - Diapositive

Nog een stapje verder...
Je wil vaak maar heel specifieke gegevens uit een database halen. Bijvoorbeeld de naam van alle producten die zijn besteld bij bestelling met id 11. Je moet dan nog een voorwaarde meegeven om alleen die gegevens te zien.

Slide 27 - Diapositive

Nog een stapje verder...
Stap 1
Om de naam van alle bestelde producten van bestelling met nummer (id) 11 weer te geven hebben om te beginnen product_id nodig uit de tabel bestelregel. Met de product_id uit de tabel bestelregel kunnen we nu uit de tabel product de naam ophalen. We willen alleen de naam van de producten zien uit bestelling 11. Dus wel moeten nog een voorwaarde stellen dat dit dus alleen geldt voor bestelling_id 11.

Slide 28 - Diapositive

Antwoord
SELECT bestelregel.product_id, product.naam
FROM bestelregel
INNER JOIN product
ON product.id=bestelregel.product_id
WHERE bestelregel.bestelling_id=11

Slide 29 - Diapositive