SQL-instructies bewerken om queryresultaten te verfijnen

SQL-instructies bewerken om queryresultaten te verfijnen

Opmerking:  We willen u graag zo snel mogelijk de meest recente Help-inhoud in uw eigen taal bieden. Deze pagina is automatisch vertaald en kan grammaticale fouten of onnauwkeurigheden bevatten. Wij hopen dat deze inhoud nuttig voor u is. Kunt u ons onder aan deze pagina laten weten of de informatie nuttig voor u was? Hier is het Engelstalige artikel ter referentie.

Query's die niet het gewenste resultaat opleveren, kunt u optimaliseren door een aantal eenvoudige SQL-instructies toe te voegen. Hieronder vindt u diverse typen SQL-instructies en de componenten of onderdelen die u kunt bewerken voor de gewenste resultaten.

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

De SELECT-component aanpassen

De FROM-component aanpassen

De WHERE-component aanpassen

Aanpassingen aanbrengen met de verenigingsoperator

Een SELECT-instructie maken

Een SQL SELECT-instructies bestaat uit twee of drie componenten. Uit de SELECT-component wordt afgeleid op welke locatie naar de gegevens moet worden gezocht en welk specifiek resultaat moet worden geretourneerd.

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

Met de volgende SELECT-instructie wordt informatie opgehaald uit de kolommen E-mailadres en Bedrijf in de tabel Contactpersonen, specifiek als de kolom Plaats de waarde “Seattle” bevat

SQL-objecttabblad met een SELECT-instructie

De bovenstaande query bevat drie componenten: SELECT, FROM en WHERE.

1. De SELECT-component geeft de kolommen met de gewenste gegevens aan en heeft een operator (SELECT) gevolgd door twee aanduidingen (e-mailadres en bedrijf). Als een aanduiding spaties of speciale tekens bevat, moet u de aanduiding tussen vierkante haken plaatsen.

2. De FROM-component geeft de brontabel aan. In dit voorbeeld heeft deze component een operator (FROM) gevolgd door een aanduiding (Contactpersonen).

3. De WHERE-component is optioneel. In dit voorbeeld heeft deze component een operator (WHERE) gevolgd door een expressie (Plaats="Seattle").

Voor meer informatie over selectiequery Zie maken van een eenvoudige selectiequery.

Hieronder vindt u een lijst met veelgebruikte 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-instructie bestaat uit termen. Hieronder vindt u een lijst van een aantal veelgebruikte SQL-termen.

SQL-term

Definitie

Voorbeeld

aanduiding

Een naam waarmee een databaseobject wordt aangeduid, 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

U wilt alleen afzonderlijke waarden zien.

Gebruik het trefwoord DISTINCT in de SELECT-component.

Uw klanten behoren tot verschillende filialen en sommige klanten hebben hetzelfde telefoonnummer. U wilt dat elk telefoonnummer slechts één keer wordt vermeld. Gebruik de volgende SELECT-component:

SELECT DISTINCT [txtCustomerPhone] 

U wilt de weergave van een aanduiding in de gegevensbladweergave wijzigen om de leesbaarheid te verbeteren.

Gebruik de operator AS (een trefwoord dat een actie aanduidt of wijzigt) met een veldalias in de SELECT-component. Een veldalias is een naam die u aan een veld toewijst om ervoor te zorgen dat de resultaten beter leesbaar worden.

SELECT [txtCustPhone] AS [Customer Phone]

De FROM-component aanpassen

Aanpassen

Voorbeeld

U kunt werken met een tabelalias of een andere naam die u toewijst aan een tabel in een SELECT-instructie. Een tabelalias is handig voor lange tabelnamen, vooral als er sprake is van meerdere velden met dezelfde naam uit verschillende tabellen.

U wilt gegevens selecteren uit twee velden die beide de naam Id hebben. Eén ervan is afkomstig uit de tabel tblCustomer en de andere uit de tabel tblOrder:

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

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

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

U kunt deze tabelaliassen daarna als volgt in de SELECT-component gebruiken:

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

Met joins kunt u recordparen uit twee gegevensbronnen tot één resultaat combineren of kunt u opgeven of records uit de ene tabel moeten worden opgenomen als er geen overeenkomende record voorkomt in de gerelateerde tabel.

Koppel de tabellen zodat de query items uit de tabellen combineert en items uitsluit als er geen overeenkomende record in de andere tabel voorkomt.

De FROM-component kan er bijvoorbeeld als volgt uitzien:

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

Over het gebruik van joins

Er zijn twee typen joins, inner joins en outer joins. Inner joins worden vaak in query's gebruikt. Als u een query met een inner join uitvoert, worden in de resultaten alleen items weergegeven waarbij in beide gecombineerde tabellen een overeenkomende waarde voorkomt.

Met outer joins wordt gedefinieerd of gegevens moeten worden opgenomen als er geen overeenkomende waarde voorkomt. Outer joins hebben een richting. Dit wil zeggen dat u kunt opgeven waaruit records moeten worden opgenomen: alle records uit de eerste tabel in de join (een zogenaamde left join) of alle records uit de tweede tabel in de join (een zogenaamde right join). Een outer join heeft de volgende SQL-syntaxis:

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

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

Naar boven

De WHERE-component aanpassen

De WHERE-component bevat criteria waarmee Beperk het aantal items in een query geretourneerd. Zie voorbeelden van querycriteria en hoe ze werken.

Door de WHERE-component aan te passen kunt u de resultaten van een query beperken. Stel dat u op zoek bent naar het telefoonnummer van een klant van wie u alleen nog weet dat zijn achternaam Barends is. In dit voorbeeld zijn achternamen opgeslagen in een veld LastName. De SQL-syntaxis zou dus als volgt zijn:

WHERE [LastName]='Bagel'

Gebruik de WHERE-component ook naar gegevensbronnen voor kolommen met gegevens, maar verschillende gegevenstypen overeenkomstige combineren. Dit is handig omdat u geen een join tussen velden met verschillende gegevenstypen maken. Gebruik één veld als criterium voor het veld, met het sleutelwoord zoals . Als u gebruiken van gegevens uit een tabel activa en de tabel werknemers wilt, alleen wanneer het type van activa in de activa ingevoerd bevat veld van de activa tabel bijvoorbeeld het getal 3 in het veld aantal van de tabel werknemers, als volgt hoe uw WHERE-component eruitzien :

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 dat geval gebruikt u een HAVING-component om criteria voor statistische velden op te geven.

Naar boven

Aanpassingen aanbrengen met de verenigingsoperator

Met de verenigingsoperator kunt u een gecombineerde weergave maken van resultaten uit diverse vergelijkbare selectiequery's. Stel dat de database een tabel Producten en een tabel Diensten bevat met beide drie velden: exclusief aanbod of product of service, prijs, garantie. Hoewel de tabel Producten waarborginformatie bevat en de tabel Diensten garantie-informatie, gaat het in feite om dezelfde informatie. U kunt de drie velden uit de twee tabellen als volgt met een samenvoegquery combineren:

SELECT name, price, warranty, exclusive_offer
FROM Products
UNION ALL
SELECT name, price, guarantee, exclusive_offer
FROM Services;

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

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

Voor meer informatie over samenvoegquery's weergeven met een samenvoegquery om weer te geven van de samengevoegde resultaten van meerdere query's.

Naar boven

Uw Office-vaardigheden uitbreiden
Training verkennen
Als eerste nieuwe functies krijgen
Deelnemen aan Office Insiders

Was deze informatie nuttig?

Bedankt voor uw feedback.

Hartelijk dank voor uw feedback! Het lijkt ons een goed idee om u in contact te brengen met een van onze Office-ondersteuningsagents.

×