Bereken je offerte
Gids · Webshops · comment-woord QUERY

SQL query uitleg: spiekbrief met de handigste commando's

Een SQL query is een vraag aan je database. Hier vind je de uitleg en een spiekbrief met de 12 commando's die je het vaakst nodig hebt, met voorbeelden.

De carrousel
01 / 07
Niet zoeken wel vragen
SELECT: wat wil je?
FROM: waar staat het?
WHERE: filter het
Uitvoeren klaar
Comment QUERY: Ik stuur je een spiekbrief met de SQL-commando's die je het vaakst nodig hebt.
Overzicht

De SQL-spiekbrief: 12 commando's die je het vaakst nodig hebt

Kopieer een voorbeeld en vervang de namen van tabellen en kolommen door die uit jouw database. In de voorbeelden gaat het over een tabel klanten en een tabel bestellingen.

  1. 1
    SELECT naam, email FROM klanten;Toont enkel de kolommen die je kiest. Zo krijg je geen lijst met alles erbij die je niet nodig hebt.
  2. 2
    SELECT * FROM klanten LIMIT 10;De * betekent alle kolommen. Met LIMIT krijg je enkel de eerste 10 rijen, ideaal om te zien hoe een tabel eruitziet. SQL Server gebruikt SELECT TOP 10 in plaats van LIMIT.
  3. 3
    SELECT naam FROM klanten WHERE stad = 'Aalter';WHERE filtert de rijen. Tekst zet je tussen enkele aanhalingstekens, getallen niet.
  4. 4
    WHERE stad = 'Aalter' AND actief = 1Met AND moeten beide voorwaarden kloppen, met OR volstaat één van de twee. Zet haakjes als je AND en OR combineert.
  5. 5
    WHERE email LIKE '%@gmail.com'LIKE zoekt op een deel van een tekst. Het teken % staat voor 'om het even wat'. Dit is het antwoord op 'sql query contains'.
  6. 6
    WHERE stad IN ('Aalter', 'Gent') / WHERE stad NOT IN ('Aalter', 'Gent')IN controleert tegen een lijst waarden, NOT IN sluit ze uit. Pas op als de lijst een lege waarde (NULL) bevat: dan geeft NOT IN geen enkele rij terug.
  7. 7
    SELECT naam, totaal FROM bestellingen ORDER BY totaal DESC;Sorteert het resultaat. DESC zet de hoogste waarde bovenaan, ASC (de standaard) de laagste.
  8. 8
    SELECT COUNT(*) FROM bestellingen;Telt het aantal rijen. Voeg een WHERE toe om enkel een deel te tellen, bijvoorbeeld de bestellingen van deze maand.
  9. 9
    SELECT DISTINCT stad FROM klanten;Geeft elke waarde maar één keer terug. Handig voor de vraag 'welke unieke waarden staan er in deze kolom?'.
  10. 10
    SELECT stad, COUNT(*) FROM klanten GROUP BY stad;Groepeert rijen en rekent per groep. Hier zie je hoeveel klanten je per stad hebt. Met SUM(totaal) tel je bedragen op in plaats van rijen.
  11. 11
    SELECT klanten.naam, bestellingen.totaal FROM bestellingen JOIN klanten ON bestellingen.klant_id = klanten.id;JOIN koppelt twee tabellen via een gemeenschappelijke kolom. Zo zie je bij elke bestelling de naam van de klant.
  12. 12
    UPDATE klanten SET stad = 'Gent' WHERE id = 42;Wijzigt bestaande gegevens. Zonder WHERE pas je alle rijen aan. Test eerst met een SELECT en dezelfde WHERE, en maak een back-up.

Een SQL query is een korte zin waarmee je een database vertelt welke gegevens je wil zien. Deze SQL query uitleg houdt het bij de basis: SELECT, FROM en WHERE. Met de spiekbrief hierboven kan je daarna meteen aan de slag.

SQL query uitleg: hoe lees je zo'n zin?

Neem deze query:

SELECT naam, email FROM klanten WHERE stad = 'Aalter';

Lees ze als gewone taal: toon me de naam en het e-mailadres uit de tabel klanten, maar enkel van de klanten in Aalter. Meer zit er niet in.

Elke query bestaat uit blokken. Elk blok beantwoordt één vraag:

  • SELECT: welke kolommen wil je zien?
  • FROM: in welke tabel staat dat?
  • WHERE: welke rijen wil je enkel?

De database voert uit wat je schrijft, niet wat je bedoelt. Vraag je niets, dan krijg je alles. Vraag je iets onduidelijks, dan krijg je een foutmelding of een resultaat dat niet klopt.

Waarom werkt SELECT, FROM, WHERE zo goed?

Een database bevat een of meer tabellen, en elke tabel heeft kolommen en rijen. Denk aan een Excel-tabblad: de kolommen zijn de velden (naam, e-mail, stad) en elke rij is één klant.

Het verschil met Excel is schaal en snelheid. Een webshop heeft snel tienduizenden bestellingen en producten. Daar zoek je niet meer met je ogen. Je stelt een vraag en de database geeft een tabel terug met enkel de rijen die kloppen.

Daarom is de volgorde ook logisch. Eerst bepaal je waar je zoekt (FROM), dan wat je zoekt (WHERE), en dan wat je ervan wil zien (SELECT). Als je een query moeilijk vindt, schrijf dan eerst FROM en WHERE en pas daarna SELECT.

Hoe maak je een SQL query als beginner?

Ga stap voor stap en bouw je vraag op.

1. Formuleer de vraag in gewone taal

Schrijf eerst op wat je wil weten. Bijvoorbeeld: "Welke klanten hebben meer dan €100 uitgegeven?" Zonder duidelijke vraag kan je geen goede query schrijven.

2. Zoek de tabel en de kolommen

Kijk welke tabellen je database heeft en welke kolommen erin zitten. Bij een webshop zijn dat meestal klanten, bestellingen en producten. De namen verschillen per systeem, dus kijk altijd eerst na.

3. Begin klein

Start met SELECT * FROM bestellingen LIMIT 10; en bekijk wat er terugkomt. Voeg dan een voorwaarde toe en kijk of het resultaat nog klopt. Zo merk je meteen waar het misloopt.

4. Controleer het resultaat

Tel een paar rijen na met de hand. Een query die zonder fout draait, geeft nog niet het juiste antwoord. Een verkeerde voorwaarde levert gewoon een verkeerd resultaat op.

Een voorbeeld uit een webshop

Stel dat je een webshop hebt en je wil weten in welke steden je klanten wonen. Je schrijft:

SELECT stad, COUNT(*) FROM klanten GROUP BY stad ORDER BY COUNT(*) DESC;

Je krijgt een tabel met elke stad en het aantal klanten, met de grootste stad bovenaan. Daar kan je iets mee doen: bijvoorbeeld een mailing naar klanten uit één regio.

Wil je daarna enkel klanten uit Aalter mailen, dan voeg je een WHERE toe. Dat is precies de query uit de carrousel.

Welke valkuilen moet je kennen?

UPDATE en DELETE zonder WHERE

Dit is de grootste fout. Een UPDATE zonder WHERE past elke rij aan, een DELETE zonder WHERE wist alles. Schrijf eerst een SELECT met dezelfde WHERE-voorwaarde en kijk welke rijen je krijgt. Klopt dat, pas dan de UPDATE uit. Maak ook altijd eerst een back-up.

SELECT * overal gebruiken

De * is handig om te kijken wat er in een tabel staat. In een echte toepassing vraag je beter enkel de kolommen die je nodig hebt. Dat is sneller en je haalt geen gegevens op die je niet nodig hebt.

Aanhalingstekens en NULL

Tekst staat tussen enkele aanhalingstekens: 'Aalter'. Een lege waarde heet NULL en vergelijk je met IS NULL, niet met = NULL. Dat laatste geeft nooit een resultaat.

NULL zorgt ook voor een bekende val bij NOT IN: zit er een NULL in de lijst waarmee je vergelijkt, dan krijg je geen enkele rij terug. Dat lijkt dan op een lege database, terwijl de query gewoon iets anders doet dan je dacht.

Aannemen dat elke database hetzelfde werkt

De basis is overal gelijk, maar details verschillen per database. Voor het beperken van het aantal rijen gebruik je bij MySQL, PostgreSQL en SQLite LIMIT, bij SQL Server TOP. Lees de documentatie van jouw systeem als iets niet werkt.

Wat heb je er als ondernemer aan?

Je hoeft geen SQL te schrijven om er voordeel uit te halen. Wie de basis kent, snapt wat er in zijn eigen systeem gebeurt. Je weet dat een rapport gewoon een query is en dat "klanten per stad" één vraag aan de database is.

Dat maakt je ook duidelijker naar wie bouwt. Als je een webshop laat maken, kan je gericht vragen welke gegevens je later wil kunnen opvragen: bestellingen per maand, klanten per regio, producten die niet meer verkopen. Hetzelfde geldt voor een CRM op maat: daar zitten je klanten, offertes en opvolging in een database, en de vragen die je eraan kan stellen bepalen hoe nuttig het systeem is.

Wil je zulke vragen automatisch laten beantwoorden, bijvoorbeeld een wekelijks overzicht in je mailbox, dan kan dat via AI automations. Daarachter staat in de praktijk meestal gewoon een query.

Heb je een concrete vraag over je eigen gegevens of systeem? Neem dan vrijblijvend contact op.

Veelgestelde vragen

Wat is een SQL query?

Een SQL query is een opdracht in de taal SQL waarmee je een database vraagt om gegevens te tonen, toe te voegen, te wijzigen of te verwijderen. De meest gebruikte vorm is de SELECT-query, waarmee je enkel gegevens opvraagt. Er verandert dan niets in de database.

Kan ik met een SELECT per ongeluk iets kapotmaken?

Nee, SELECT leest enkel. Gevaarlijk worden UPDATE, DELETE en DROP, want die wijzigen of verwijderen gegevens. Gebruik die nooit zonder back-up en zonder WHERE-voorwaarde.

Is SQL hetzelfde in elke database?

De basis (SELECT, FROM, WHERE, ORDER BY, GROUP BY, JOIN) werkt overal hetzelfde. Kleine dingen verschillen per systeem, zoals LIMIT of TOP om het aantal rijen te beperken. Of hoofdletters uitmaken bij tekst, hangt ook af van de database.

Moet ik als ondernemer SQL kunnen?

Nee, maar de basis helpt. Je snapt beter wat er achter je webshop of CRM zit en je kan duidelijker vragen welke gegevens je wil zien. Wie bouwt, begrijpt je dan ook sneller.

Hoe leer ik een SQL query schrijven als beginner?

Begin met SELECT, FROM en WHERE op een kopie van je gegevens of een testdatabase. Voeg daarna één ding tegelijk toe: ORDER BY, COUNT, GROUP BY en pas dan JOIN. Lees je query altijd hardop als een zin om te checken of ze vraagt wat jij bedoelt.

Meer weten over webshops? Bekijk wat we daarin voor je doen of lees artikels over webshops.

Meer gidsen

Alle gidsen bekijken

Liever dat wij het voor je doen?

Vertel kort wat je wil bereiken. Je krijgt binnen 24 uur een concreet voorstel, zonder verplichtingen.

Nieuw Stel je vraag gewoon met je stem. Je hoort meteen antwoord.