wat is een query, voorbeelden en uitleg

Query

Een query is een stuk tekst dat je aan een database systeem voorlegt. Dit stuk tekst wordt dan vertaald zodat er een bepaalde actie wordt uitgevoerd. Bijvoorbeeld, ‘Ik wil graag weten hoeveel films er in mijn IMDb dataset zitten met het genre actie’ of ‘Hoeveel films zijn er gemaakt na 1960?’.

De meest gebruikte query taal is Structured Query Language, oftewel SQL. Deze programmeertaal is de meest populaire query taal om met relationele databases te communiceren.

SQL is meer dan een ‘query taal’ omdat het nog veel meer functies bevat, zoals:

  • Informatie ophalen
  • Structuur van een dataset bepalen
  • Data aanpassen
  • Data verwijderen
  • Data bewaken
  • Data filteren
  • Data analyseren

In de blog ‘SQL voorbeelden: wat kan ik allemaal met SQL?’ worden nog meer functies van deze query taal uitgelegd.

Hoe werkt een SQL query?

Een SQL query wordt verwerkt door een database management systeem. Dit soort systemen zijn een stuk software dat wordt gebruikt als de interface tussen een gebruiker en een database. Het systeem zorgt ervoor dat gebruikers binnen een database een query kunnen maken dat zorgt voor een bepaalde uitvoer. Het database management systeem ontvangt dan de query en verwerkt deze stuk tekst in de informatie waar de gebruiker naar vraagt.

Query voorbeelden

Er zijn twee soorten query’s die het meest voorkomen binnen SQL. Dit zijn de ‘select’ query’s en de ‘actie’ query’s.

Select query

Een ‘select’ query is opzoek naar informatie en zorgt ervoor dat jij deze kan inzien. Dit soort query's gebruikt altijd minimaal twee commando’s; SELECT en FROM. Verder heeft SQL nog een tal van commando’s die toegevoegd kunnen worden voor complexere query’s. In de tabel hieronder staan verschillende commando’s met een beschrijving van hun functie.

Select commando Functie beschrijving
SELECT Bepaalt welke kolommen er worden geselecteerd in het resultaat van de query.
FROM Bepaalt welke tabellen er worden gebruikt om gegevens uit te halen.
WHERE Filtert alle ongewenste informatie.
GROUP BY Wordt gebruikt om rijen te groeperen gebaseerd op gezamenlijke waardes.
ORDER BY Sorteert de rijen in het resultaat van de query gebaseerd op een of meer kolommen.

Een voorbeeld van een 'select' query zie je hieronder. Deze query toont de naam, uitgave jaar en waardering van de films die 'Titanic' heten.

SELECT name, year, rank
FROM movies
WHERE name = 'Titanic';

Actie query

Een ‘actie’ query zorgt ervoor dat bepaalde taken worden uitgevoerd op data. Een voorbeeld hiervan is het toevoegen van nieuwe films in de IMDb dataset. In dit voorbeeld wordt er dus geen informatie opgevraagd, wat wel het geval is in de ‘select’ query. In onderstaande tabel worden een aantal belangrijke ‘actie’ commando’s benoemd met een beschrijving van hun functie.

Actie commando Functie beschrijving
CREATE Hiermee kun je databases, tabellen, indexen en views mee aanmaken. Voornamelijk wordt het gebruikt voor databases een juiste structuur te geven.
INSERT Wanneer er nieuwe informatie is, kun je die toevoegen door middel van dit commando. Deze informatie kan alleen toegevoegd worden in al bestaande tabellen.
DELETE Dit commando wordt gebruikt voor het verwijderen van informatie in tabellen. Informatie dat verwijdert moet worden zijn bijvoorbeeld achterhaalde gegevens.
UPDATE Dit zorgt ervoor dat het mogelijk is om informatie aan te passen. Mocht er bijvoorbeeld verkeerde informatie in je database staan kun je het met dit commando aanpassen. Dit is wat gemakkelijker dan eerst de verkeerde informatie te verwijderen en dan te invoegen.

Een voorbeeld van een 'actie' query zie je hieronder. Deze query past de waardering van de film met het id nummer 33856 aan naar een 8,5.

UPDATE movies
SET rank = 8.5
WHERE id = 333856;

Wil je nog veel meer leren over SQL? Bekijk dan onze SQL cursus voor data analyse. Door middel van theorie en praktijkoefening wordt er een kwalitatieve basis gelegd. Nadat je deze training hebt gevolgd kun je zelfstandig verder aan de slag. Je kunt ook altijd even contact opnemen via info@datasciencepartners.nl of 020 - 24 43 146 als je een vraag hebt.

by: