SQL: Een complete inleiding
SQL staat voor Structured Query Language en is de taal waarmee we communiceren met relationele databases. In essentie is SQL een gestandaardiseerde manier om gegevens op te halen, bijwerken en manipuleren in databases. Of je nu een beginnende programmeur bent of een ervaren ontwikkelaar, SQL is een belangrijk onderdeel van moderne databasetoepassingen en is iets dat je zeker zou moeten beheersen.
Met SQL kun je data op verschillende manieren opvragen en manipuleren, van eenvoudige zoekopdrachten tot complexe combinaties van meerdere tabellen. Hieronder staan vijf basis queries die iedereen zou moeten kennen om SQL onder de knie te krijgen.
Voor de voorbeelden in dit artikel gaan we uit van een tabel genaamd ‘employee’, die werknemersinformatie bevat:
ID | Name | Department | Name |
---|---|---|---|
1 | John | Marketing | 50000 |
2 | Jane | IT | 60000 |
3 | Bob | Finance | 70000 |
4 | Sara | Marketing | 55000 |
5 | Tim | IT | 65000 |
1. SELECT: De basis van SQL
De SELECT-query is de meest fundamentele query in SQL. Het wordt gebruikt om gegevens uit een tabel op te halen en weer te geven. Het standaardformaat van een SELECT-query is:
SELECT column1, column2, ... FROM table_name;
Als we bijvoorbeeld alle werknemersnamen en salarissen willen weergeven, zouden we de volgende query gebruiken:
SELECT Name, Salary FROM employee;
Dit zou het volgende resultaat opleveren:
Name | Salary |
---|---|
John | 50000 |
Jane | 60000 |
Bob | 70000 |
Sara | 55000 |
Tim | 65000 |
2. WHERE: Filters toepassen
De WHERE-clausule wordt gebruikt om de resultaten van een SELECT-query te beperken op basis van bepaalde criteria. Het standaardformaat van een SELECT-query met WHERE-clausule is:
SELECT column1, column2, ... FROM table_name WHERE condition;
Als we bijvoorbeeld alle werknemersnamen en salarissen willen weergeven van werknemers die meer verdienen dan 60.000 euro, zouden we de volgende query gebruiken:
SELECT Name, Salary FROM employee WHERE Salary > 60000;
Dit zou het volgende resultaat opleveren:
Name | Salary |
---|---|
Bob | 70000 |
Tim | 65000 |
3. ORDER BY: Sorteren
De ORDER BY-clausule wordt gebruikt om de resultaten van een SELECT-query te sorteren op basis van een of meer kolommen. Het standaardformaat van een SELECT-query met ORDER BY-clausule is:
SELECT column1, column2, ... FROM table_name ORDER BY column1, column2, ... ASC|DESC;
Als we bijvoorbeeld alle werknemersnamen en salarissen willen weergeven, gesorteerd op salaris van hoog naar laag, zouden we de volgende query gebruiken:
SELECT Name, Salary FROM employee ORDER BY Salary DESC;
Dit zou het volgende resultaat opleveren:
Name | Salary |
---|---|
Bob | 70000 |
Tim | 65000 |
Jane | 60000 |
Sara | 55000 |
John | 50000 |
4. GROUP BY: Groeperen
De GROUP BY-clausule wordt gebruikt om rijen te groeperen op basis van de waarden in een of meer kolommen. Het standaardformaat van een SELECT-query met GROUP BY-clausule is:
SELECT column1, column2, ... FROM table_name GROUP BY column1, column2, ...;
Als we bijvoorbeeld het totale salaris van werknemers per afdeling willen weergeven, zouden we de volgende query gebruiken:
SELECT Department, SUM(Salary) FROM employee GROUP BY Department;
Dit zou het volgende resultaat opleveren:
Department | SUM(Salary) |
---|---|
Marketing | 105000 |
IT | 125000 |
Finance | 70000 |
5. JOIN: Samenvoegen
De JOIN-clausule wordt gebruikt om gegevens uit meerdere tabellen samen te voegen op basis van een gemeenschappelijke kolom. In dit geval is tussen de twee tabellen de gelijke kolom de ‘department’ kolom. Het standaardformaat van een SELECT-query met JOIN-clausule is:
SELECT column1, column2, ... FROM table1 JOIN table2 ON table1.column = table2.column;
Name | Department |
---|---|
Sarah | Marketing |
Mike | IT |
Bob | Finance |
Als we bijvoorbeeld alle werknemersnamen, salarissen en afdelingen willen weergeven, inclusief de manager van elke afdeling, zouden we de volgende query gebruiken:
SELECT employee.Name, employee.Salary, employee.Department, manager.Name FROM employee JOIN manager ON employee.Department = manager.Department;
Dit zou het volgende resultaat opleveren:
Name | Salary | Department | Manager |
---|---|---|---|
John | 50000 | Marketing | Sarah |
Jane | 60000 | IT | Mike |
Bob | 70000 | Finance | Bob |
Sara | 55000 | Marketing | Sarah |
Tim | 65000 | IT | Mike |
SQL samengevat
SQL is een krachtige taal die wordt gebruikt om gegevens uit relationele databases op te halen en te manipuleren. Met de vijf basis queries die we hebben besproken, kun je al een groot deel van de functionaliteit van SQL onder de knie krijgen. Er zijn echter veel meer geavanceerde SQL-queries en -technieken om te ontdekken. Of je nu een databasebeheerder, ontwikkelaar of data-analist bent, het leren van SQL is essentieel om effectief te kunnen werken met relationele databases. Met de kennis van de basisprincipes van SQL en de vijf basis queries die we hebben behandeld, ben je goed op weg om zelf SQL te kunnen gebruiken om gegevens uit databases te halen en te analyseren.
Meer weten over hoe je SQL en Python kunt combineren? Lees dan dit artikel over SQL en Python.