Informatica – C Informatie – C5 Databases en SQL
C5.1 Basis SQL
C5.1.1 Inleiding
Met vraagtaal kun je data opvragen uit database Bekendste vraagtaal is SQL In deze
taal vraag je data op uit database met een query
C5.1.2 Een query SELECT naam
Basisstructuur van een query is: FROM klant
SELECT een of meer kolommen
FROM een tabel
Bij SELECT geef je op welke gegevens er moeten worden geselecteerd en bij FROM geef je op
uit welke tabel deze moeten worden geselecteerd Volgorde bij SELECT is belangrijk In
volgorde waarin je kolommen opgeeft, worden ze na uitvoeren van query ook weergegeven:
Verschillende kolommen in SELECT worden van elkaar gescheiden SELECT naam, emailadres
met een komma FROM klant
Als je bij SELECT een * gebruikt, worden alle kolommen uit de
tabel weergegeven SELECT *
FROM klant
C5.1.3 Voorwaarden opstellen
SELECT *
Je kunt onder de FROM een voorwaarde opgeven De gegevens in de
FROM product
tabel moeten dan voldoen aan de voorwaarde WHERE voorwaarde
WHERE categorie_id = 4
Let op Engelse notatie: 2.49 ipv 2,49
Als je WHERE voorwaarde opgeeft waarin tekst staat, moet SELECT *
deze tekst tussen aanhalingstekens Anders weet database FROM product
niet of het om kolomnaam of waarde gaat Kunnen zowel WHERE naam = “Double Cheeseburger”
enkele (‘) of dubbele (“) zijn, als je maar 2x dezelfde gebruikt
C5.1.4 Operatoren Operator Betekenis
Relatieoperatoren = is gelijk aan
Relatieoperatoren < is kleiner dan
<= is kleiner dan of gelijk aan
Booleans > is groter dan
Voorbeeld: Tabel ‘product’ bevat kolom >= is groter dan of gelijk aan
‘beschikbaarheid’ Waarde in deze kolom geeft <> of != is niet gelijk aan
aan of product beschikbaar is of niet Hiervoor
SELECT naam
zijn 2 mogelijkheden:
FROM product
Wel beschikbaar
WHERE prijs < 2
Niet beschikbaar
Kolom ‘beschikbaarheid’ is van het type boolean Boolean kan maar 2 waarden bevatten:
true en false
1
, Joël Smit | 4V.in1
Om te controleren of product beschikbaar is gebruik je:
WHERE beschikbaarheid = 1 of WHERE beschikbaarheid = “Y” Product is
beschikbaar (true)
WHERE beschikbaarheid = 0 of WHERE beschikbaarheid = “N” Product is niet
beschikbaar (false)
Logische operatoren
Het is niet mogelijk om 2x WHERE op te geven Om meerdere SELECT *
voorwaarden op te geven moeten ze gecombineerd worden met logische FROM product
operatoren AND of OR: WHERE categorie_id = 1
AND Aan alle voorwaarden moet worden voldaan AND prijs < 2
OR Aan één van voorwaarden moet worden voldaan
Meerdere delen, bijvoorbeeld: producten uit categorie 1 die niet SELECT naam
beschikbaar zijn of uit categorie 9 met eenheid in gram: FROM product
WHERE (categorie_id = 1
AND beschikbaarheid = 0)
C5.1.5 LIKE
OR (categorie_id = 9
Soms is het niet mogelijk om exacte inhoud van veld te weten
Selecteren van bepaalde gegevens erg lastig Oplossing: LIKE Met LIKE AND eenheid = “gram”)
kun je in combinatie met WHERE-voorwaarde speciale jokertekens
gebruiken Vooral handig bij zoekfunctie Bv. Als je kipproduct SELECT *
wilt, dit kan bij zowel ‘Chicken & Fish’ staan als bij ‘Breakfast’ of
FROM product
‘Salads’ LIKE “%zoekterm%” hierin geef je op dat inhoud van
WHERE naam LIKE “%chicken%”
kolom ‘naam’ aan het patroon “%chicken%” moet voldoen:
Altijd aanhalingstekens om patroon heen
SELECT *
De % in het patroon is de joker Hiermee maak je aan database
duidelijk dat het niet uitmaakt welke en hoeveel tekens er voor of FROM product
na het woord ‘chicken’ moeten komen WHERE naam LIKE “%Egg%”
AND formaat IS NULL
Rijen met lege kolom IS NULL
%-teken is een joker Staat voor 0 of meerdere willekeurige tekens SELECT naam
e
2 joker: underscore (_) Staat voor precies 1 willekeurig teken Kun je FROM klant
bijvoorbeeld gebruiken om woorden van bepaalde lengte te selecteren WHERE naam LIKE “___”
Bv. alle namen die bestaan uit 3 letters
Bij relatieoperatoren heb je <> of != om aan te geven dat iets niet SELECT *
gelijk is Als je dit in combinatie met LIKE wilt doen, krijg je NOT FROM product
LIKE WHERE naam NOT LIKE “%bacon%”
NOT is net als AND en OR een logische operator Kun je op
meerdere plekken gebruiken SELECT *
FROM product
Producten die niet begint met ‘A’
WHERE naam NOT LIKE “A%”
Klanten die emailadres hebben van meer dan 5 tekens 6
SELECT *
underscores en een % Moet meer dan 5 zijn, dus minimaal 6 en
FROM klant
mag ook meer zijn
WHERE emailadres LIKE “______%”
2
Voordelen van het kopen van samenvattingen bij Stuvia op een rij:
Verzekerd van kwaliteit door reviews
Stuvia-klanten hebben meer dan 700.000 samenvattingen beoordeeld. Zo weet je zeker dat je de beste documenten koopt!
Snel en makkelijk kopen
Je betaalt supersnel en eenmalig met iDeal, creditcard of Stuvia-tegoed voor de samenvatting. Zonder lidmaatschap.
Focus op de essentie
Samenvattingen worden geschreven voor en door anderen. Daarom zijn de samenvattingen altijd betrouwbaar en actueel. Zo kom je snel tot de kern!
Veelgestelde vragen
Wat krijg ik als ik dit document koop?
Je krijgt een PDF, die direct beschikbaar is na je aankoop. Het gekochte document is altijd, overal en oneindig toegankelijk via je profiel.
Tevredenheidsgarantie: hoe werkt dat?
Onze tevredenheidsgarantie zorgt ervoor dat je altijd een studiedocument vindt dat goed bij je past. Je vult een formulier in en onze klantenservice regelt de rest.
Van wie koop ik deze samenvatting?
Stuvia is een marktplaats, je koop dit document dus niet van ons, maar van verkoper SmitJoël. Stuvia faciliteert de betaling aan de verkoper.
Zit ik meteen vast aan een abonnement?
Nee, je koopt alleen deze samenvatting voor €3,99. Je zit daarna nergens aan vast.