SQL-instructies bewerken om queryresultaten te verfijnen
Applies ToAccess voor Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Als uw query's niet hard genoeg werken, kunt u enkele eenvoudige SQL-instructies toevoegen om uw resultaten te concentreren. Laten we eens kijken naar een paar typen SQL-instructies en de componenten of onderdelen die u kunt bewerken om de gewenste resultaten te krijgen.

Opmerking:  Dit artikel is niet van toepassing op Access-web-apps, het type database dat u met Access ontwerpt en online publiceert.

In dit artikel

Een select-instructie maken

Een SQL-selectie-instructie heeft twee tot drie componenten. De SELECT-component vertelt de database waar de gegevens moeten worden gezocht en vraagt deze om een specifiek resultaat te retourneren.

Opmerking:  SELECT-instructies eindigen altijd met een puntkomma (;) aan het einde van de laatste component of op een regel aan het einde van de SQL-instructie.

Met de volgende selectie-instructie wordt Access gevraagd om informatie op te halen uit de kolommen E-mailadres en Bedrijf, uit de tabel Contactpersonen, met name waar 'Seattle' wordt gevonden in de kolom Plaats.

SQL-objecttabblad met een SELECT-instructie

De bovenstaande query heeft drie componenten SELECT, FROM en WHERE.

1. De SELECT-component bevat de kolommen met de gegevens die u wilt gebruiken en bevat een operator (SELECT), gevolgd door twee id's (E-mailadres en Bedrijf). Als een id spaties of speciale tekens bevat (zoals 'E-mailadres'), plaatst u de id tussen vierkante haken.

2. De FROM-component identificeert de brontabel. In dit voorbeeld heeft het een operator (FROM), gevolgd door een id (Contactpersonen).

3. De WHERE-component is een optionele component. Het voorbeeld bevat een operator (WHERE) gevolgd door een expressie (Plaats="Seattle").

Zie Een eenvoudige selectiequery maken voor meer informatie over selectiequery's.

Hier volgt een lijst met algemene SQL-componenten:

SQL-component

Resultaat

Vereist ?

SELECT

Vermelding van de velden die de gewenste gegevens bevatten.

Ja

FROM

Vermelding van de tabellen met de velden die in de SELECT-component worden vermeld.

Ja

WHERE

Aanduiding van veldcriteria waaraan moet worden voldaan door elke record die in de resultaten moet worden opgenomen.

Nee

ORDER BY

Aanduiding hoe de resultaten worden gesorteerd.

Nee

GROUP BY

In een SQL-instructie met statistische functies vermelding van de velden die niet in de SELECT-component worden samengevat.

Alleen als er sprake is van dergelijke velden

HAVING

In een SQL-instructie met statistische functies vermelding van de voorwaarden die gelden voor velden die in de SELECT-component worden samengevat.

Nee

Elke SQL-component bestaat uit termen. Hier volgt een lijst met enkele algemene SQL-termen.

SQL-term

Definitie

Voorbeeld

aanduiding

Een naam die u gebruikt om een databaseobject te identificeren, zoals de kolomnaam.

[E-mailadres] en Bedrijf

operator

Een sleutelwoord waarmee een actie wordt aangeduid of gewijzigd.

AS

constante

Een waarde die niet wordt gewijzigd, zoals een getal of NULL.

42

expressie

Een combinatie van aanduidingen, operators, constanten en functies die leidt tot één enkele waarde.

>= Producten.[Prijs per eenheid]

Naar boven

De SELECT-component aanpassen

Aanpassen

Voorbeeld

Als u alleen de afzonderlijke waarden wilt zien.

Gebruik het sleutelwoord DISTINCT in uw SELECT-component.

Als uw klanten bijvoorbeeld afkomstig zijn van verschillende filialen en sommige hetzelfde telefoonnummer hebben en u slechts één keer een telefoonnummer wilt zien, ziet uw SELECT-component er als volgt uit:

SELECT DISTINCT [txtCustomerPhone] 

De manier wijzigen waarop een id wordt weergegeven in de gegevensbladweergave om de leesbaarheid te verbeteren.

Gebruik de as-operator (een trefwoord dat een actie vertegenwoordigt of een actie wijzigt) met een veldalias in uw SELECT-component. Een veldalias is een naam die u toewijst aan een veld om de resultaten beter leesbaar te maken.

SELECT [txtCustPhone] AS [Customer Phone]

De FROM-component aanpassen

Aanpassen

Voorbeeld

U kunt een tabelalias of een andere naam gebruiken die u aan een tabel toewijst in een select-instructie. Een tabelalias is handig als de naam van de tabelnaam lang is, met name wanneer u meerdere velden hebt met dezelfde naam uit verschillende tabellen.

Gegevens selecteren uit twee velden, beide benoemde id, waarvan één afkomstig is uit de tabel tblCustomer en de andere uit de tabel tblOrder:

SELECT [tblCustomer].[ID],        [tblOrder].[ID]

Gebruik de AS-operator om tabelaliassen te definiëren in de FROM-component:

FROM [tblCustomer] AS [C],      [tblOrder] AS [O] 

Vervolgens kunt u deze tabelaliassen als volgt gebruiken in uw SELECT-component:

SELECT [C].[ID],        [O].[ID]

Gebruik joins om paren van records uit twee gegevensbronnen te combineren tot één resultaat of om op te geven of records uit een van de tabellen moeten worden opgenomen als de gerelateerde tabel geen overeenkomstige record bevat.

Voeg de tabellen samen, zodat de query de items uit de tabellen combineert en items uitsluit wanneer er geen overeenkomstige record in de andere tabel is

De FROM-component kan er als volgt uitzien:

FROM [tblCustomer] INNER JOIN [tblOrder]ON [tblCustomer].[CustomerID]=[tblOrder].[CustomerID] 

Over het gebruik van joins

Er zijn twee typen joins, inner en outer joins. Inner joins komen vaker voor in query's. Wanneer u een query uitvoert met een inner join, worden in het resultaat alleen de items weergegeven waarvoor een gemeenschappelijke waarde bestaat in beide gekoppelde tabellen.

Outer joins geven aan of gegevens moeten worden opgenomen waarvoor geen gemeenschappelijke waarde bestaat. Outer joins zijn directioneel, wat betekent dat u kunt opgeven of u alle records uit de eerste tabel wilt opnemen die is opgegeven in de join (een left join genoemd), of dat u alle records uit de tweede tabel in de join wilt opnemen (een zogenaamde right join). Een outer join heeft de volgende SQL-syntaxis:

FROM table1 [ LEFT | RIGHT ] JOIN table2ON table1.field1 = table2.field2

Zie Tabellen en query's koppelen voor meer informatie over het gebruik van joins in een query.

Naar boven

De WHERE-component aanpassen

De WHERE-component bevat criteria waarmee u het aantal items kunt beperken dat in een query wordt geretourneerd. Bekijk voorbeelden van querycriteria en hoe deze werken.

Een voorbeeld van hoe u de basis-WHERE-component kunt aanpassen, is om de resultaten van een query te beperken. Stel dat u het telefoonnummer van een klant wilt vinden en alleen zijn achternaam als Bagel kunt onthouden. In dit voorbeeld worden de achternamen opgeslagen in het veld LastName, dus de SQL-syntaxis is:

WHERE [LastName]='Bagel'

Gebruik de WHERE-component ook om gegevensbronnen te combineren voor kolommen met overeenkomende gegevens, maar met verschillende gegevenstypen. Dit is handig omdat u geen join kunt maken tussen velden met verschillende gegevenstypen. Gebruik het ene veld als criterium voor het andere veld, met het trefwoord LIKE . Als u bijvoorbeeld gegevens uit een tabel Activa en De tabel Werknemers wilt gebruiken, ziet uw WHERE-component er als volgt uit als het type asset in het veld Assettype van de tabel Activa het getal 3 heeft in het veld Hoeveelheid van de tabel Werknemers:

WHERE field1 LIKE field2

Belangrijk:  U kunt geen criteria opgeven voor een veld dat wordt gebruikt met een statistische functie in een WHERE-component. In plaats daarvan gebruikt u een HAVING-component om criteria voor velden met statistische functies op te geven.

Naar boven

Aanpassen met de UNION-operator

Gebruik de operator UNION als u een gecombineerde weergave van resultaten van verschillende vergelijkbare selectiequery's wilt zien. Als uw database bijvoorbeeld een tabel Producten en een tabel Services bevat en deze beide drie velden hebben: exclusieve aanbieding of product of service, prijs, garantie of garantie. Hoewel in de tabel Producten garantiegegevens worden opgeslagen en in de tabel Services worden garantiegegevens opgeslagen, is de basisinformatie hetzelfde. U kunt een samenvoegquery gebruiken om de drie velden uit de twee tabellen als volgt te combineren:

SELECT name, price, warranty, exclusive_offerFROM ProductsUNION ALLSELECT name, price, guarantee, exclusive_offer FROM Services;

Wanneer u de query uitvoert, worden gegevens uit elke set bijbehorende velden gecombineerd in één uitvoerveld. Als u dubbele rijen in de resultaten wilt opnemen, gebruikt u de operator ALL.

Opmerking:  De instructie Select moet hetzelfde aantal uitvoervelden hebben, in dezelfde volgorde en met dezelfde of compatibele gegevenstypen. Voor een samenvoegquery zijn de gegevenstypen Numeriek en Tekst compatibel.

Zie Een samenvoegquery gebruiken om een uniform resultaat van meerdere query's weer te geven voor meer informatie over Union-query's.

Naar boven

Meer hulp nodig?

Meer opties?

Verken abonnementsvoordelen, blader door trainingscursussen, leer hoe u uw apparaat kunt beveiligen en meer.

Community's helpen u vragen te stellen en te beantwoorden, feedback te geven en te leren van experts met uitgebreide kennis.