Een selectie maken
Je hebt gezien dat je met behulp van SQL een volledige tabel of een aantal kolommen uit een tabel op het scherm kunt tonen. Het zal ook voorkomen dat je niet de gegevens uit alle rijen wilt hebben.
Stel dat je een lijst wilt hebben van de namen van alle rekeninghouders die in Utrecht wonen. In dat geval zal er een selectie van rijen gemaakt moeten worden. Dit doe je door een voorwaarde te stellen:
SELECT rekeninghouder
FROM rekeninghouder
WHERE plaats = 'Utrecht';
Achter WHERE staat de voorwaarde dat in de kolom rekeninghouder alleen de namen van de rekeninghouders moeten staan die in Utrecht wonen.
In de volgende query wordt een lijst gemaakt van het rekening_id, het saldo en de status van de rekeningen waarvan het saldo groter is dan of gelijk aan € 1900,00.
SELECT rekening_id, saldo, status
FROM rekening
WHERE saldo >= 1900.00;
Kijk eens naar de notatie van het bedrag. In plaats van 1900,00 hebben we in de query 1900.00 genoteerd. Als decimaalteken hebben we een punt in plaats van een komma gebruikt. In Nederland en België zetten we een komma voor decimalen. Bijvoorbeeld 24,95. In Engelstalige landen wordt als decimaalteken een punt gebruikt en is de notatie dus 24.95 in plaats van 24,95.
SQL kent een aantal verschillende typen data zoals tekst en numerieke gegevens. Bij het maken van een tabel moet voor iedere kolom een geschikt type data gespecificeerd worden. Als het om tekst gaat, dan moet het gegeven tussen aanhalingstekens staan. Is er sprake van een numeriek gegeven dan worden de aanhalingstekens achterwege gelaten. Een datum wordt in SQLite tussen enkele aanhalingstekens gezet.
De volgende query levert als resultaat een lijst op met de transactie_id, de datum en het bedrag. Alleen die rijen worden getoond, waarvan de datum na 19-12-2015 ligt.
SELECT transactie_id, datum, bedrag
FROM transactie
WHERE datum > '19-12-2015';
De Europese notatie voor een datum is eerst de dag, dan de maand en daarna het jaar. In de Verenigde Staten is dat eerst de maand, dan de dag en daarna het jaar. In de SQL-tool wordt de datum in de tabel transacties nog anders genoteerd. Namelijk eerst het jaar, daarna de maand en dan de dag.
In onze SQL-tool wordt de query dus:
SELECT transactie_id, datum, bedrag
FROM transactie
WHERE datum > '2015-12-19';
In het Microsoft Access bestand van de database transacties wordt de datum op de Europese manier genoteerd en komt de datum tussen #'s te staan: #19-12-2015#.
Een query in SQL heeft een basisstructuur:
SELECT <een of meer kolommen>
FROM <een of meer tabellen>
WHERE <een of meer voorwaarden>;