Een databasequery ha alt gegevens uit een database en formatteert deze in een voor mensen leesbare vorm. Een query moet worden geschreven in de syntaxis die de database vereist - meestal een variant van Structured Query Language.
De elementen van een SQL-query
SQL-query's die gebruik maken van Data Manipulation Language (de set SQL-instructies die toegang geven tot gegevens of deze wijzigen, in tegenstelling tot de Data Definition Language die de structuur van de database zelf aanpast) bestaat uit vier blokken, waarvan de eerste twee zijn niet optioneel.
Een SQL-query heeft minimaal de volgende vorm:
selecteer X van Y;
Hier identificeert het select-trefwoord welke informatie u wilt weergeven en het from-trefwoord identificeert waar die gegevens vandaan komen en hoe die gegevensbronnen met elkaar omgaan. Optioneel, een waar-statement stelt beperkende criteria in, en groepeert op en volgorde op instructies koppelt waarden en geeft ze in een specifieke volgorde weer.
Bijvoorbeeld:
SELECT emp.ssn, emp.last_name, dept.department_name
FROM medewerkers emp LEFT OUTER JOIN afdelingen dept
ON emp.dept_no=dept.dept_no
WHERE emp.active_flag='Y'BESTEL DOOR 2 ASC;
Deze zoekopdracht resulteert in een raster met het sofinummer, de achternaam van een werknemer en de afdelingsnaam van de werknemer - in die kolomvolgorde overgenomen uit de tabellen met werknemers en afdelingen. De werknemerstabel is leidend, dus het toont alleen afdelingsnamen als er een overeenkomend afdelingsnummerveld in beide tabellen is (een linker outer join is een methode om tabellen te koppelen waarbij de linkertabel alle resultaten toont en alleen overeenkomende resultaten van de rechterkant -zijdige tafel verschijnen). Verder toont het raster alleen werknemers wiens actieve vlag is ingesteld op Y, en het resultaat wordt in oplopende volgorde gesorteerd op afdelingsnaam.
Maar al deze gegevensverkenning begint met de select-instructie.
De SQL SELECT-instructie
SQL gebruikt een SELECT-instructie om specifieke gegevens te selecteren of extraheren.
Beschouw een voorbeeld op basis van de Northwind-database die vaak wordt geleverd met databaseproducten als zelfstudie. Hier is een fragment uit de werknemerstabel van de database:
EmployeeID | Achternaam | Voornaam | Titel | Adres | Stad | Regio |
---|---|---|---|---|---|---|
1 | Davolio | Nancy | Verkoopvertegenwoordiger | 507 20th Ave. E. | Seattle | WA |
2 | Voller | Andrew | Vice-president, Sales | 908 W. Kapitaalweg | Tacoma | WA |
3 | Leverling | Janet | Verkoopvertegenwoordiger | 722 Moss Bay Blvd. | Kirkland | WA |
Om de naam en titel van een werknemer uit de database terug te halen, ziet de SELECT-instructie er ongeveer zo uit:
SELECTEER Voornaam, Achternaam, Titel FROM Werknemers;
Het zou terugkeren:
Voornaam | Achternaam | Titel |
---|---|---|
Nancy | Davolio | Verkoopvertegenwoordiger |
Andrew | Voller | Vice-president, Sales |
Janet | Leverling | Verkoopvertegenwoordiger |
Om de resultaten verder te verfijnen, kunt u een WHERE-clausule toevoegen:
SELECTEER Voornaam, Achternaam FROM WerknemersWHERE Stad='Tacoma';
Het retourneert de voornaam en achternaam van elke werknemer die uit Tacoma komt:
Voornaam | Achternaam |
---|---|
Andrew | Voller |
SQL retourneert gegevens in een rij-en-kolomvorm die vergelijkbaar is met Microsoft Excel, waardoor het gemakkelijk te bekijken en mee te werken is. Andere querytalen kunnen gegevens als een grafiek of diagram retourneren.
De kracht van zoekopdrachten
Een database heeft het potentieel om complexe trends en activiteiten te onthullen, maar deze kracht wordt alleen benut door het gebruik van de query. Een complexe database bestaat uit veel tabellen waarin een grote hoeveelheid gegevens is opgeslagen. Met een query kunt u de gegevens in een enkele tabel filteren, zodat u deze gemakkelijker kunt analyseren.
Queries kunnen ook berekeningen uitvoeren op uw gegevens of gegevensbeheertaken automatiseren. U kunt ook updates van uw gegevens bekijken voordat u ze in de database opneemt.
FAQ
Hoe vraag je een Access-database op?
Als u een query wilt maken in Microsoft Access, gaat u naar Create > Query WizardSelecteer vervolgens een querytype, zoals Simple Query Wizard > OK Selecteer een tabel uit het vervolgkeuzemenu > kies uw velden en het type van de gewenste resultaten > Voltooien
Wat is gestructureerde querytaal?
Structured Query Language, of SQL, is een programmeertaal die wordt gebruikt in gegevensbeheersystemen en relationele databases. Omdat het gemakkelijk te gebruiken en effectief is, is het opgenomen in commerciële databases zoals MySQL, Sybase, Postgres, Oracle en meer.
Hoe optimaliseer je een SQL-query?
Om een SQL-query te optimaliseren en zo efficiënt mogelijk te maken, gebruikt u de SELECT-instructie om de database te instrueren om alleen relevante informatie op te vragen. Vermijd het gebruik van de SELECT DISTINCT-instructie, die veel verwerkingskracht vereist. Gebruik alleen jokertekens aan het einde van instructies en gebruik de LIMIT-instructie om alleen het opgegeven aantal records te retourneren.