Inleiding tot Access SQL

Belangrijk: Dit artikel is automatisch vertaald, bekijk de disclaimer. De Engelse versie van dit artikel vindt u hier voor referentiedoeleinden.

Wanneer u gegevens ophalen uit een database wilt, vragen u om de gegevens met behulp van Structured Query Language of SQL. SQL is de computertaal van een die lijkt op Engels die databaseprogramma's kennen. Omdat u weet dat SQL is belangrijk, omdat elke in Microsoft Access SQL wordt. Informatie over de werking van SQL kunnen helpen betere query's maken en kunt u gemakkelijker kunt herstellen van een query als deze is niet de gewenste resultaten retourneren.

Opmerking: U kunt SQL niet bewerken voor een webquery.

In dit artikel

Wat is SQL?

Eenvoudige SQL-componenten: SELECT, FROM, en waar

De resultaten sorteren: volgorde op

Werken met samengevatte gegevens: GROEPEREN op en HAVING

Queryresultaten combineren: Unie

Meer informatie over de SELECT-component

Meer informatie over de FROM-component

Meer informatie over de WHERE-component

Wat is SQL?

SQL is een computertaal voor het werken met sets van feiten en hun onderlinge relaties. Relationele database-programma's, zoals Access gebruiken SQL om te werken met gegevens. Zoals veel talen van de computer is SQL een internationale standaard die wordt herkend door standaarden instanties zoals ISO en ANSI.

U gebruikt SQL om sets gegevens te beschrijven die kunnen helpen om bepaalde vragen te beantwoorden. Wanneer u SQL gebruikt, moet u de juiste syntaxis gebruiken. Syntaxis verwijst naar de set regels waarmee de elementen van een taal correct kunnen worden gecombineerd. De SQL-syntaxis is gebaseerd op de syntaxis van de Engelse taal en bevat veel elementen die ook worden gebruikt in de syntaxis van Visual Basic for Applications (VBA).

Een eenvoudige SQL-instructie waarmee een lijst met achternamen voor contactpersonen met als voornaam Marie wordt opgehaald, ziet er ongeveer als volgt uit:

SELECT Last_Name
FROM Contacts
WHERE First_Name = 'Mary';

Opmerking: SQL wordt niet alleen gebruikt voor het bewerken van gegevens, maar ook voor het maken en wijzigen van het ontwerp van databaseobjecten, zoals tabellen. Het deel van de SQL-code die wordt gebruikt voor het maken en wijzigen van databaseobjecten heet data definition language (DDL). In dit onderwerp besproken DDL niet. Zie voor meer informatie het artikel maken of wijzigen van tabellen of indexen met behulp van een definitiequery.

SELECT-instructies

Als u een reeks gegevens met behulp van SQL wilt beschrijven, stelt u een SELECT-instructie op. Deze instructie bevat een volledige beschrijving van een reeks gegevens die u uit een database wilt ophalen, met onder andere:

  • In welke tabellen de gegevens staan.

  • Hoe de gegevens uit verschillende bronnen aan elkaar zijn gerelateerd.

  • Welke velden of berekeningen de gegevens produceren.

  • Criteria die gegevens voldoen moet om te worden opgenomen.

  • Of en hoe de resultaten moeten worden gesorteerd.

SQL-componenten

Net als een zin bestaat een SQL-instructie uit componenten. Elke component voert een functie voor de SQL-instructie uit. Sommige componenten zijn verplichte onderdelen van een SELECT-instructie. In de volgende tabel staan de SQL-instructies die het meest worden gebruikt:

SQL-component

Resultaat

Verplicht

SELECT

Hiermee worden de velden weergegeven waarin de betreffende gegevens staan.

Ja

FROM

Hiermee worden de tabellen weergegeven waarin de velden staan die in de SELECT-component worden weergegeven.

Ja

WHERE

Hiermee worden veldcriteria opgegeven waaraan elke record moet voldoen om in de resultaten te worden opgenomen.

Nee

ORDER BY

Hiermee wordt opgegeven hoe de resultaten moeten worden gesorteerd.

Nee

GROUP BY

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

Alleen als er dergelijke velden zijn

HAVING

In een SQL-instructie met statistische functies worden hiermee voorwaarden opgegeven die van toepassing zijn op velden die in de SELECT-instructie worden samengevat.

Nee

SQL-definities

Alle SQL-componenten bestaan uit definities, die u kunt vergelijken met stukjes spraak. In de onderstaande tabel worden SQL-definities weergegeven.

SQL-definitie

Vergelijkbaar onderdeel van spraak

Definitie

Voorbeeld

id

zelfstandig naamwoord

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

Klanten.[Telefoonnummer]

operator

werkwoord of bijwoord

Een trefwoord dat een actie representeert of waarmee een actie wordt gewijzigd.

AS

constante

zelfstandig naamwoord

Een waarde die ongewijzigd blijft, zoals een nummer of NULL.

42

expressie

bijvoeglijk naamwoord

Een combinatie van id's, operatoren, constanten en functies die één waarde samenstellen.

>= Producten.[Prijs per stuk]

Naar boven

Basiscomponenten in SQL: SELECT, FROM en WHERE

Een SQL-instructie ziet er meestal als volgt uit:

SELECT field_1
FROM table_1
WHERE criterion_1
;

Notities: 

  • Access negeert regeleinden in een SQL-instructie. Het is echter raadzaam een regeleinde voor elke component te gebruiken om de leesbaarheid van uw SQL-instructies voor uzelf en andere gebruikers te verbeteren.

  • Elke SELECT-instructie eindigt met een puntkomma (;). Deze puntkomma kan aan het eind van de laatste component worden weergegeven, of afzonderlijk op een regel aan het eind van de SQL-instructie.

Een voorbeeld in Access

Hieronder wordt getoond hoe een SQL-instructie voor een eenvoudige selectiequery er in Access uitziet:

SQL-objecttabblad met een SELECT-instructie

1. SELECT-component

2. FROM-component

3. WHERE-component

Dit voorbeeld van een SQL-instructie bevat de volgende tekst: Selecteer de gegevens die zijn opgeslagen in de velden E-mailadres en Bedrijf uit de tabel Contactpersonen, met name de records waarin Utrecht de waarde van het veld Plaats is.

We gaan het voorbeeld nu per component nader bekijken om te zien hoe SQL-syntaxis in elkaar steekt.

De SELECT-component

SELECT [E-mail Address], Company

Dit is de SELECT-component, die uit een operator (SELECT) bestaat, gevolgd door twee id's ([E-mailadres] en Bedrijf).

Als een id spaties of speciale tekens bevat, zoals E-mailadres, moet de id tussen vierkante haakjes staan.

Een SELECT-component hoeft niet op te geven in welke tabellen de velden staan, en kan geen voorwaarden opgeven waaraan de gegevens moeten voldoen om te worden opgenomen.

De SELECT-component staat altijd vóór de FROM-component in een SELECT-instructie.

De FROM-component

FROM Contacts

Dit is de FROM-component, die uit een operator bestaat (FROM), gevolgd door een id (Contactpersonen).

Een FROM-component geeft niet de velden weer die moeten worden geselecteerd.

De WHERE-component

WHERE City="Seattle"

Dit is de WHERE-component, die uit een operator bestaat (WHERE), gevolgd door een expressie (Plaats="Utrecht").

Opmerking: In tegenstelling tot de SELECT- en FROM-componenten is de WHERE-component geen verplicht element van een SELECT-instructie.

U kunt veel van de acties die SQL u doen kunt met behulp van uitvoeren SELECT, FROM en WHERE-componenten. Meer informatie over het u gebruikt deze componenten wordt gepresenteerd in deze secties aan het einde van dit artikel:

Meer informatie over de SELECT-component

Meer informatie over de FROM-component

Meer informatie over de WHERE-component

De resultaten sorteren: ORDER BY

Net als in Microsoft Office Excel kunt u in Access queryresultaten in een gegevensblad sorteren. U kunt ook in de query opgeven hoe u de resultaten wilt sorteren wanneer de query wordt uitgevoerd. Hiervoor gebruikt u een ORDER BY-component, die de laatste component in de SQL-instructie vormt.

Een ORDER BY-component bevat een lijst met de velden die u wilt gebruiken om te sorteren, in dezelfde volgorde waarin u de sorteerbewerkingen wilt toepassen.

Stel dat u bijvoorbeeld uw resultaten eerst op de waarde van het veld Bedrijf in aflopende volgorde wilt sorteren, en vervolgens (als er records zijn met dezelfde waarde voor Bedrijf) op de waarden in het veld E-mailadres in oplopende volgorde. Uw ORDER BY-component ziet er dan ongeveer als volgt uit:

ORDER BY Company DESC, [E-mail Address]

Opmerking: Access sorteert waarden standaard in oplopende volgorde (A-Z, van klein naar groot). Gebruik het trefwoord DESC om waarden in aflopende volgorde te sorteren.

Zie het onderwerp ORDER BY, component voor meer informatie over de component ORDER BY.

Naar boven

Werken met samengevatte gegevens: GROUP BY en HAVING

Soms wilt u werken met samengevatte gegevens, zoals de totale verkopen in een maand of de duurste items op voorraad. Dit kan door een statistische functie toe te passen op een veld in de SELECT-component. Als u bijvoorbeeld een query wilt maken om het aantal e-mailadressen voor elk bedrijf op te vragen, maakt u een SELECT-component die er zo uitziet:

SELECT COUNT([E-mail Address]), Company

De statistische functies die u kunt gebruiken, worden bepaald door het type gegevens in het veld of de expressie die u wilt gebruiken. Zie Statistische SQL-functies voor meer informatie over de beschikbare statistische functies.

Velden opgeven die niet in een statistische functie worden gebruikt: de GROUP BY-component

Wanneer u statistische functies gebruikt, moet u meestal ook een GROUP BY-component maken. In een GROUP BY-component worden alle velden weergegeven waarop u geen statistische functie toepast. Als u statistische functies op alle velden in een query toepast, hoeft u de GROUP BY-component niet te maken.

Een GROUP BY-component staat meteen achter de WHERE-component, of de FROM-component als er geen WHERE-component is. Een GROUP BY-component geeft de velden weer zoals ze in de SELECT-component verschijnen.

We nemen hetzelfde voorbeeld. Als uw SELECT-component een statistische functie toepast op [E-mailadres] maar niet op Bedrijf, ziet uw GROUP BY-component er ongeveer als volgt uit:

GROUP BY Company

Zie het onderwerp GROUP BY, component voor meer informatie over de component GROUP BY.

Totaalwaarden beperken op basis van criteria van de groep: de HAVING-component

Als u criteria wilt gebruiken om uw resultaten te beperken, maar het veld waarop u criteria wilt toepassen, wordt in een statistische functie gebruikt, kunt u niet een WHERE-component gebruiken maar moet u een HAVING-component gebruiken. Een HAVING-component werkt op dezelfde manier als een WHERE-component, maar wordt gebruikt voor samengevoegde gegevens.

Stel dat u de AVG-functie (die een gemiddelde waarde berekent) voor het eerste veld in uw SELECT-component gebruikt:

SELECT COUNT([E-mail Address]), Company

Als de query de resultaten moet beperken op basis van de waarde van die COUNT-functie, kunt u niet een criterium voor dat veld in de WHERE-component gebruiken. In plaats daarvan plaatst u de criteria in een HAVING-component. Als de query bijvoorbeeld alleen rijen moet retourneren als er meer dan een e-mailadres aan het bedrijf is gekoppeld, ziet de HAVING-component er ongeveer als volgt uit:

HAVING COUNT([E-mail Address])>1

Opmerking: Een query kan een WHERE-component en een HAVING-component bevatten: criteria voor velden die niet in een statistische functie worden gebruikt, worden in de WHERE-component geplaatst, en criteria voor velden die met statistische functies worden gebruikt, komen in de HAVING-component.

Zie het onderwerp HAVING, component voor meer informatie over de HAVING-component.

Naar boven

Queryresultaten combineren: UNION

Wanneer u alle gegevens die door verschillende, gelijksoortige selectiequery's worden geretourneerd, als gecombineerde set wilt bekijken, gebruikt u de UNION-operator.

Met deze operator kunt u twee SELECT-instructies tot één combineren. De SELECT-instructies die u combineert, moeten hetzelfde aantal uitvoervelden hebben, in dezelfde volgorde, en met dezelfde of compatibele gegevenstypen. Wanneer u de query uitvoert, worden gegevens van elke set overeenkomende velden gecombineerd tot één uitvoerveld, zodat de queryuitvoer hetzelfde aantal velden heeft als de beide SELECT-instructies.

Opmerking: Voor een samenvoegquery zijn de gegevenstypen Numeriek en Tekst compatibel.

Wanneer u de UNION-operator gebruikt, kunt u ook opgeven of de queryresultaten dubbele rijen moeten omvatten, als die aanwezig zijn, door het trefwoord ALL te gebruiken.

Een samenvoegquery die twee SELECT-instructies combineert, heeft de volgende SQL-basissyntaxis:

SELECT field_1
FROM table_1
UNION [ALL]
SELECT field_a
FROM table_a
;

Stel dat u twee tabellen hebt, respectievelijk Producten en Diensten genaamd. Beide tabellen hebben velden met de naam van het product of de dienst, de prijs, waarborg- of garantiebeschikbaarheid en of het een exclusief aanbod betreft. Hoewel waarborginformatie in de tabel Producten wordt opgeslagen en garantie-informatie in de tabel Diensten, is de basisinformatie hetzelfde (of een bepaald product of bepaalde dienst een kwaliteitswaarborg bevat). U kunt een samenvoegquery gebruiken, zoals in het volgende voorbeeld, om de vier velden van de twee tabellen te combineren:

SELECT name, price, warranty_available, exclusive_offer
FROM Products
UNION ALL
SELECT name, price, guarantee_available, exclusive_offer
FROM Services
;

Zie het artikel de resultaten van verschillende selectiequery met behulp van een samenvoegquery combinerenvoor meer informatie over hoe u de SELECT-instructies combineren met behulp van de verenigingsoperator.

Naar boven

Meer informatie over de SELECT-component

In een SELECT-instructie zijn de SELECT-component de velden die gegevens bevatten dat u gebruiken wilt.

Id's tussen vierkante haken plaatsen

U kunt de naam van een veld in een SELECT-component tussen vierkante haken plaatsen. Als de naam geen spaties of speciale tekens bevat (zoals leestekens), zijn de vierkante haken optioneel. Als de naam wel spaties of speciale tekens bevat, moet u de haken gebruiken.

Tip: Een naam met spaties beter leesbaar is en u kunt tijd besparen wanneer u ontwerpen van formulieren en rapporten, maar kan dit uiteindelijk waardoor u typt u meer wanneer u SQL-instructies schrijven. Wanneer u naam toewijzen aan objecten in uw database, moet u dit feit overwegen.

Als de SQL-instructie twee of meer velden met dezelfde naam bevat, moet u de naam van de bijbehorende gegevensbronnen toevoegen aan de veldnaam in de SELECT-component. U gebruikt dezelfde naam voor de gegevensbron die u in de FROM-component gebruikt.

Alle velden selecteren

Wanneer u alle velden van een gegevensbron wilt gebruiken, kunt u alle velden afzonderlijk weergeven in de SELECT-component of kunt u het jokerteken sterretje (*) gebruiken. Wanneer u het sterretje gebruikt, wordt bij het uitvoeren van de query bepaald welke velden de gegevensbron bevat en worden alle velden opgenomen in de query. Hierdoor blijft de query up-to-date als er nieuwe velden worden toegevoegd aan de gegevensbron.

U kunt het sterretje gebruiken met een of meer gegevensbronnen in een SQL-instructie. Als u het sterretje gebruikt wanneer er meerdere gegevensbronnen beschikbaar zijn, moet u de naam van de gegevensbron en het sterretje invoeren, zodat kan worden bepaald uit welke gegevensbron alle velden moeten worden opgenomen.

U wilt bijvoorbeeld alle velden in de tabel Bestellingen selecteren, maar alleen de e-mailadressen in de tabel Contactpersonen. De SELECT-component kan er dan als volgt uitzien:

SELECT Orders.*, Contacts.[E-mail Address]

Opmerking: Houd in de gaten waar u het sterretje gebruikt. Als er later nieuwe velden aan de gegevensbron worden toegevoegd die u niet hebt gepland, is het mogelijk dat de query niet de gewenste resultaten oplevert.

Afzonderlijke waarden selecteren

Als u weet dat met uw instructie overbodige gegevens worden geselecteerd, en u liever alleen afzonderlijke waarden wilt zien, kunt u het trefwoord DISTINCT gebruiken in uw SELECT-component. Uw klanten vertegenwoordigen bijvoorbeeld verschillende interesses, maar sommigen gebruiken hetzelfde telefoonnummer. Als u hetzelfde telefoonnummer slechts eenmaal wilt weergeven, moet uw SELECT-component er als volgt uitzien:

SELECT DISTINCT [txtCustomerPhone]

Vervangende namen voor velden of expressies gebruiken: het AS-trefwoord

U kunt het label wijzigen dat voor elk veld in de gegevensbladweergave wordt weergegeven, door het AS-trefwoord en een veldalias in de SELECT-component te gebruiken. Een veldalias is een naam die u aan een veld in een query toewijst, zodat de resultaten leesbaarder worden. Als u bijvoorbeeld gegevens in het veld txtKlantTel wilt selecteren en het veld bevat telefoonnummers van klanten, kunt u de leesbaarheid van uw resultaten verbeteren door als volgt een veldalias in uw SELECT-instructie te gebruiken:

SELECT [txtCustPhone] AS [Customer Phone]

Opmerking: U moet een veldalias gebruiken wanneer u een expressie gebruikt in een SELECT-component.

Selecteren via een expressie

Soms kan u wilt bekijken berekeningen op basis van uw gegevens of slechts een deel van een veld gegevens ophalen. Stel dat u retourneren van het jaar dat klanten geboren wilt, op basis van gegevens in het veld Geboortedatum in uw database. De SELECT-component mogelijk er dan ongeveer als volgt te werk:

SELECT DatePart("yyyy",[BirthDate]) AS [Birth Year]

Deze expressie bestaat uit de DatePart , functie en twee argumenten, "yyyy" (een constante), en [BirthDate] (een id).

U kunt elke geldige expressie als een veld gebruiken, als de expressie één waarde uitvoert wanneer er één invoerwaarde wordt opgegeven.

Naar boven

Meer informatie over de FROM-component

In een SELECT-instructie worden met de FROM-component de tabellen of query's opgegeven met de gegevens die worden gebruikt door de SELECT-component.

Stel dat u het telefoonnummer van een specifieke klant wilt weten. Als u ervan uitgaat dat de tabel met het veld waarin deze gegevens zijn opgeslagen, de naam tblKlant heeft, ziet de FROM-component er ongeveer als volgt uit:

FROM tblCustomer

Id's tussen vierkante haken plaatsen

U kunt de naam tussen vierkante haken plaatsen. Als de naam geen spaties of speciale tekens bevat (zoals leestekens), zijn de vierkante haken optioneel. Als de naam wel spaties of speciale tekens bevat, moet u de haken gebruiken.

Tip: Een naam met spaties beter leesbaar is en u kunt tijd besparen wanneer u ontwerpen van formulieren en rapporten, maar kan dit uiteindelijk waardoor u meer Typ wanneer u SQL-instructies schrijft. Wanneer u naam toewijzen aan objecten in uw database, moet u dit feit overwegen.

Vervangende namen voor gegevensbronnen gebruiken

U kunt met een andere naam naar een gegevensbron in een SELECT-instructie verwijzen via een tabelalias in de FROM-component. Een tabelalias is een naam die u toewijst aan een gegevensbron in een query wanneer u een expressie gebruikt als gegevensbron of als u ervoor wilt zorgen dat de SQL-instructie eenvoudiger kan worden ingevoerd en gelezen. Dit is met name handig als de naam van de gegevensbron lang of lastig in te voeren is, vooral wanneer meerdere velden uit verschillende tabellen dezelfde naam hebben.

Als u bijvoorbeeld gegevens uit twee velden wilt selecteren die beide de naam Id hebben, een uit de tabel tblKlant en de andere uit de tabel tblBestelling, ziet uw SELECT-component er ongeveer als volgt uit:

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

U kunt de query eenvoudiger typen als u tabelaliassen in uw FROM-component gebruikt. Uw FROM-component met tabelaliassen ziet er ongeveer als volgt uit:

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

U kunt deze tabelaliassen dan als volgt in uw SELECT-component gebruiken:

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

Opmerking: Wanneer u een tabelalias gebruikt, kunt u naar de gegevensbron in uw SQL-instructie verwijzen met de alias of de volledige naam van de gegevensbron.

Gerelateerde gegevens samenvoegen

Wanneer u paren records uit twee gegevensbronnen wilt combineren tot enkele records in een queryresultaat, kunt u een samenvoeging uitvoeren. Een samenvoeging is een SQL-bewerking waarin wordt opgegeven hoe twee gegevensbronnen zijn gerelateerd en of gegevens uit één bron moeten worden opgenomen als er geen overeenkomende gegevens in de andere bron voorkomen.

Als u de informatie van twee gegevensbronnen wilt combineren, voert u een samenvoegbewerking uit op het veld dat in beide bronnen voorkomt. Wanneer de waarden in dit veld overeenkomen, worden de gegevens van de records in de resultaten gecombineerd.

U kunt een samenvoeging niet alleen gebruiken om gegevens te combineren, maar ook om op te geven of records uit de tabellen moeten worden opgenomen als er geen bijbehorende record in de gerelateerde tabel voorkomt.

Stel dat u wilt gegevens uit twee tabellen gebruiken in een query: tblCustomer en tblOrder. De twee tabellen beide hebben een veld, KlantId, waarmee een klant. Elke record in de tabel tblCustomer wellicht een of meer van de corresponderende records in de tabel tblOrder en de bijbehorende waarden kunnen worden bepaald door de waarden in het veld CustomerID.

Als u de tabellen wilt samenvoegen zodat via de query de records van de tabellen worden gecombineerd, waarbij records niet worden opgenomen als er geen bijbehorende record in de andere tabel voorkomt, ziet uw FROM-component er ongeveer als volgt uit (het regeleinde is hier ingevoegd voor leesbaarheid):

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

In Microsoft Office Access komen samenvoegingen voor in de FROM-component van een SELECT-instructie. Er zijn twee soorten samenvoeging: inner joins en outer joins. In de volgende secties worden deze twee samenvoegingen besproken.

Inner joins

Inner joins komen het meeste voor. Wanneer er een query met een inner join wordt uitgevoerd, worden alleen de records in de queryresultaten opgenomen waarvoor in beide samengevoegde tabellen een gemeenschappelijke waarde bestaat.

Een inner join heeft de volgende syntaxis (het regeleinde is hier toegevoegd voor leesbaarheid):

FROM table1 INNER JOIN table2
ON table1.field1 compopr table2.field2

In de volgende tabel worden de verschillende delen van een INNER JOIN-bewerking beschreven.

Onderdeel

Beschrijving

tabel1, tabel2

De naam van de tabellen waaruit records worden gecombineerd.

veld1, veld2

De namen van de velden die worden samengevoegd. Als de velden niet numeriek zijn, moet het gegevenstype van de velden gelijk zijn en moeten ze hetzelfde soort gegevens bevatten. Ze hoeven echter niet dezelfde naam te hebben.

vglopr

Een relationele vergelijkingsoperator: '=,' '<,' '>,' '<=,' '>=' of '<>.'

Outer joins

Outer joins zijn vergelijkbaar met inner joins, omdat hiermee wordt aangegeven hoe informatie van twee bronnen moet worden gecombineerd door een query. Outer joins verschillen van inner joins, omdat hiermee ook wordt opgegeven of gegevens moeten worden opgenomen als er geen gedeelde waarde bestaat. Outer joins zijn directioneel: u kunt opgeven of alle records van de eerste gegevensbron die in de samenvoeging is opgegeven, moeten worden opgenomen (een linkerjoin), of dat alle records uit de tweede gegevensbron in de samenvoeging moeten worden opgenomen (een rechterjoin).

Een outer join heeft de volgende syntaxis:

FROM tabel1 [LEFT | RIGHT] JOIN tabel2
ON tabel1.veld1verlijkopr tabel2.veld2

In de volgende tabel worden de verschillende delen van de bewerkingen LEFT JOIN en RIGHT JOIN beschreven.

Onderdeel

Beschrijving

tabel1, tabel2

De naam van de tabellen waaruit records worden gecombineerd.

veld1, veld2

De naam van de velden die worden samengevoegd. De velden moeten van hetzelfde gegevenstype zijn en dezelfde soort gegevens bevatten, maar ze hoeven niet dezelfde naam te hebben.

vglopr

Een relationele vergelijkingsoperator: '=,' '<,' '>,' '<=,' '>=' of '<>.'

Zie het artikel Tabellen en query's koppelen voor meer informatie over joins.

Naar boven

Meer informatie over de WHERE-component

Wanneer u gegevens gebruiken om het aantal records die in een query worden geretourneerd te beperken wilt, kunt u query criteria gebruikt in de WHERE-component van een SELECT-instructie. Een querycriterium is vergelijkbaar met een formule, is het een tekenreeks die kan bestaan uit het veldverwijzingen, operatoren en constanten. Query's met criteria zijn een soort expressie.

In de volgende tabel worden enkele voorbeelden van criteria gegeven, gevolgd door een uitleg.

Criteria

Beschrijving

>25 and <50

Dit criterium is van toepassing op een veld Getal, zoals Prijs of EenhedenInVoorraad. Het criterium bevat alleen de records waarvan het veld een waarde tussen 25 en 50 bevat.

DateDiff ("jjjj", [Geboortedatum], Date()) > 30

Dit criterium is van toepassing op een veld Datum/tijd, zoals Geboortedatum. Er worden alleen records in het queryresultaat opgenomen waarvan het aantal jaar tussen de geboortedatum van een persoon en de huidige datum groter is dan 30.

Is Null

Dit criterium kan op elk type veld worden toegepast om records weer te geven waarvan de veldwaarde null is.

Zoals u in de vorige tabel kunt zien, kunnen criteria veel van elkaar verschillen, afhankelijk van het gegevenstype van het veld waarop de criteria van toepassing zijn en uw specifieke vereisten. Sommige criteria zijn eenvoudig en gebruiken basisoperators en -constanten. Andere criteria zijn complex en gebruiken functies en speciale operators en bevatten veldverwijzingen.

Belangrijk: Als een veld met een aggregatiefunctie wordt gebruikt, kunt u geen criteria voor dat veld in een WHERE-component opgeven. In plaats daarvan kunt u een HAVING-component criteria opgeven voor geaggregeerde velden. Zie voor meer informatie de sectie werken met samengevatte gegevens: GROEPEREN op en HAVING.

Syntaxis van de WHERE-component

Een WHERE-component heeft de volgende basissyntaxis:

WHERE field = criterion

U wilt bijvoorbeeld het telefoonnummer van een klant opzoeken, maar u herinnert zich alleen de achternaam van de klant: Krakeling . In plaats van alle telefoonnummers in uw database te doorzoeken, kunt u een WHERE-component gebruiken om de resultaten te beperken, zodat u gemakkelijker het gewenste telefoonnummer kunt vinden. Als u ervan uitgaat dat achternamen worden opgeslagen in een veld met de naam Achternaam, ziet de WHERE-component er ongeveer als volgt uit:

WHERE [LastName]='Bagel'

Opmerking: U hoeft niet te baseren de criteria in de WHERE-component op het equivalent van de waarden. U kunt andere vergelijkingsoperatoren, zoals groter dan (>) of kleiner is dan (<) gebruiken. Bijvoorbeeld waar [Prijs] > 100.

De WHERE-component gebruiken om gegevensbronnen te combineren

Soms wilt u gegevensbronnen combineren die op velden met overeenkomende gegevens zijn gebaseerd, maar die verschillende gegevenstypen hebben. Mogelijk wilt u bijvoorbeeld een tabelveld met het gegevenstype Numeriek vergelijken met een veld in een andere tabel dat het gegevenstype Tekst heeft.

U kunt geen samenvoeging maken tussen velden met verschillende gegevenstypen. Als u gegevens wilt combineren uit twee gegevensbronnen die zijn gebaseerd op waarden in velden met verschillende gegevenstypen, maakt u een WHERE-component waarin één veld wordt gebruikt als criterium voor het andere veld via het trefwoord LIKE.

U wilt bijvoorbeeld gegevens uit tabel1 en tabel2 gebruiken, maar alleen wanneer de gegevens in veld1 (een tekstveld in tabel1) overeenkomen met de gegevens in veld2 (een getalveld in tabel2). Uw WHERE-component ziet er dan ongeveer als volgt uit:

WHERE field1 LIKE field2

Raadpleeg het artikel Voorbeelden van querycriteria voor meer informatie over hoe u criteria maakt om in een WHERE-component te gebruiken.

Naar boven

Opmerking: Disclaimer voor automatische vertaling: Dit artikel is vertaald door een computersysteem zonder menselijke tussenkomst. Microsoft biedt deze automatische vertalingen aan om niet-Engels sprekende gebruikers te helpen de inhoud over producten, services en technologieën van Microsoft te raadplegen. Omdat het artikel automatisch is vertaald, bevat het mogelijk fouten in grammatica, woordenschat en syntaxis.

Uw 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.

×