SQL-spiekbriefje
De belangrijkste SQL-statements om gegevens op te vragen en te wijzigen, per taak gegroepeerd. De precieze syntaxis verschilt iets per database (PostgreSQL, MySQL, SQLite, SQL Server), maar de basis hieronder is bijna universeel. Gebruik de SQL-formatter om een rommelige query op te schonen.
Bijgewerkt 2026-07-06
Opvragen (SELECT)
| Statement | Wat het doet |
|---|---|
| SELECT * FROM t | Alle kolommen en rijen uit tabel t teruggeven |
| SELECT a, b FROM t | Alleen de kolommen a en b teruggeven |
| SELECT DISTINCT a FROM t | De unieke waarden van a teruggeven |
| ... WHERE a = 5 | Rijen filteren waar a gelijk is aan 5 |
| ... ORDER BY a DESC | Sorteren op a, aflopend |
| ... LIMIT 10 | Hoogstens 10 rijen teruggeven |
| ... OFFSET 20 | De eerste 20 rijen overslaan (paginering) |
| SELECT COUNT(*) FROM t | Rijen tellen |
| SELECT SUM(a), AVG(a) FROM t | Aggregatie: totaal en gemiddelde van a |
| ... GROUP BY category | Rijen groeperen om per categorie te aggregeren |
| ... HAVING COUNT(*) > 5 | Groepen filteren (WHERE voor aggregaten) |
Filteren (WHERE)
| Statement | Wat het doet |
|---|---|
| WHERE a IN (1, 2, 3) | Overeenkomen met een waarde uit een lijst |
| WHERE a BETWEEN 1 AND 9 | Overeenkomen met een bereik (inclusief) |
| WHERE name LIKE 'A%' | Patroonmatch: begint met A (% = willekeurige tekens) |
| WHERE name LIKE '_at' | _ komt overeen met precies één teken |
| WHERE a IS NULL | Overeenkomen met rijen waar a geen waarde heeft |
| WHERE a > 5 AND b < 10 | Voorwaarden combineren met AND / OR |
Tabellen samenvoegen
| Statement | Wat het doet |
|---|---|
| INNER JOIN u ON t.id = u.tid | Rijen met een match in beide tabellen |
| LEFT JOIN u ON t.id = u.tid | Alle rijen uit de linkertabel, wel of niet gematcht |
| RIGHT JOIN u ON t.id = u.tid | Alle rijen uit de rechtertabel |
| FULL JOIN u ON t.id = u.tid | Alle rijen uit beide tabellen |
Gegevens wijzigen
| Statement | Wat het doet |
|---|---|
| INSERT INTO t (a, b) VALUES (1, 2) | Een nieuwe rij toevoegen |
| UPDATE t SET a = 5 WHERE id = 1 | Bestaande rijen wijzigen (let op de WHERE!) |
| DELETE FROM t WHERE id = 1 | Rijen verwijderen (let op de WHERE!) |
Schema (tabellen & indexen)
| Statement | Wat het doet |
|---|---|
| CREATE TABLE t (id INT, name TEXT) | Een nieuwe tabel maken |
| ALTER TABLE t ADD col TEXT | Een kolom toevoegen |
| DROP TABLE t | Een tabel en al zijn gegevens verwijderen |
| CREATE INDEX idx ON t (a) | Een index toevoegen om zoekopdrachten op a te versnellen |
Een veiligheidsgewoonte om aan te houden: schrijf de WHERE-clausule van een UPDATE of DELETE eerst. Er een uitvoeren zonder WHERE wijzigt of verwijdert elke rij in de tabel.
Gerelateerde tools