De OR operator kan uw zoek­op­dracht naar records op­ti­ma­li­se­ren door de re­sul­ta­ten te beperken tot die records die aan ten minste één van uw voor­waar­den voldoen. U kunt deze operator com­bi­ne­ren met andere logische ope­ra­to­ren, zoals AND en NOT, om complexe zoek­op­drach­ten te ver­snel­len en te ver­be­te­ren.

Wat is SQL OR?

SQL’s AND, NOT en OR zijn enkele van de be­lang­rijk­ste SQL-ope­ra­to­ren voor het zoeken naar relevante in­for­ma­tie. Terwijl AND gegevens vindt die aan twee of meer voor­waar­den voldoen en NOT criteria de­fi­ni­eert die uit de re­sul­ta­ten moeten worden weg­ge­la­ten, maakt OR meer flexibele zoek­op­drach­ten mogelijk. Hiermee kunt u ver­schil­len­de zoek­cri­te­ria de­fi­ni­ë­ren, waarvan er ten minste één door de re­sul­ta­ten moet worden vervuld. Het voordeel is dat u relevante re­sul­ta­ten kunt krijgen die niet nood­za­ke­lij­ker­wijs aan alle vermelde criteria voldoen.

Aangezien SQL OR wordt gebruikt om zoek­cri­te­ria te for­mu­le­ren, wordt het vaak samen met SELECT en WHERE gebruikt. SELECT spe­ci­fi­ceert de be­tref­fen­de records en kolommen en WHERE spe­ci­fi­ceert de zoek­cri­te­ria. Om uw zoek­op­dracht nog nauw­keu­ri­ger te maken, kunt u OR com­bi­ne­ren met andere logische ope­ra­to­ren zoals AND en NOT of ver­ge­lij­kings­ope­ra­to­ren zoals =.

Wat is het verschil tussen SQL OR, AND en NOT?

Hier zijn de ver­schil­len tussen SQL OR, AND en NOT:

SQL OR SQL AND SQL NOT
Filtert records die aan ten minste één van de voor­waar­den voldoen Filtert gegevens die aan alle voor­waar­den voldoen Laat in­for­ma­tie weg die niet aan een voor­waar­de voldoet
Breidt de zoek­op­dracht uit met andere in­for­ma­tie Beperkt de zoek­op­dracht tot een com­bi­na­tie van voor­waar­den waaraan beide voldoen Laten ir­re­le­van­te in­for­ma­tie weg met behulp van uit­slui­tings­cri­te­ria
Tip

Geen ach­ter­grond in SQL? Geen probleem! Onze SQL-in­tro­duc­tie met voor­beel­den biedt een spoed­cur­sus over de ba­sis­be­gin­se­len.

Wat is de syntaxis van SQL OR?

De ba­sis­syn­taxis van OR ziet er als volgt uit:

SELECT  *
FROM  Table
WHERE  condition1  OR  condition2  OR …
sql

Het gebruikt de volgende pa­ra­me­ters:

  • SELECT: Se­lec­teert de kolommen waaruit u gegevens wilt ophalen, met behulp van primaire en externe sleutels. U kunt een asterisk * gebruiken om alle kolommen te se­lec­te­ren.
  • FROM: Geeft aan in welke tabel u wilt zoeken.
  • WHERE: De­fi­ni­eert zoek­voor­waar­den met behulp van ope­ra­to­ren en andere pa­ra­me­ters.
  • OR: Logische operator die samen met WHERE wordt gebruikt om zoek­cri­te­ria te de­fi­ni­ë­ren.

U kunt ook OR com­bi­ne­ren met NOT en AND in uw zoek­op­dracht om uw zoek­op­dracht verder te verfijnen.

SQL OR ge­com­bi­neerd met AND

In dit voorbeeld filtert de WHERE-clausule op re­sul­ta­ten waarbij zowel voor­waar­de 1 als ten minste één van de voor­waar­den 2 of 3 waar is.

SELECT  *
FROM  Table
WHERE  condition1 AND (condition2 OR condition3)
sql

SQL OR ge­com­bi­neerd met SQL NOT

U kunt SQL OR com­bi­ne­ren met NOT om gegevens uit te sluiten die aan ten minste één van de genoemde voor­waar­den voldoen.

SELECT  *
FROM  Table
WHERE  NOT  (condition1  OR  condition2)
sql

Waarvoor kan SQL OR worden gebruikt?

U kunt de SQL OR -operator gebruiken om complexe datasets te door­zoe­ken op basis van meerdere criteria. Hier volgen enkele ge­bruiks­sce­na­rio’s:

  • Filteren van klant-, order- en pro­duct­ge­ge­vens op basis van ge­com­bi­neer­de zoek­cri­te­ria zoals pro­duct­ca­te­go­rie­ën, pro­ductei­gen­schap­pen of order- en klacht­da­ta
  • Zoeken naar bedrijven in bepaalde sectoren of regio’s
  • Filteren van verdachte of ongeldige trans­ac­ties aan de hand van meerdere voor­waar­den
  • Zoeken naar in­for­ma­tie over werk­ne­mers van een spe­ci­fie­ke afdeling of team
  • Zoeken naar sol­li­ci­tan­ten die geen diploma hebben of geen werk­er­va­ring hebben

Voor­beel­den van SQL OR

Er zijn talloze toe­pas­sin­gen voor de operator OR in com­bi­na­tie met WHERE, andere SQL-ope­ra­to­ren en andere SQL-functies. Hieronder bekijken we drie voor­beel­den, zodat u een beter beeld krijgt van hoe OR werkt.

Zoeken naar be­stel­lin­gen uit bepaalde ca­te­go­rie­ën

Stel dat u in een klan­ten­ta­bel wilt zoeken naar mensen die producten hebben besteld uit een of beide ca­te­go­rie­ën ‘Elek­tro­ni­ca’ en ‘Haar’. De re­sul­ta­ten bevatten alleen records die aan ten minste één van de twee voor­waar­den voldoen. We gebruiken de ver­ge­lij­kings­ope­ra­tor = om de ca­te­go­rie­ën te spe­ci­fi­ce­ren.

De syntaxis daarvoor ziet er als volgt uit:

SELECT  *
FROM  Customers
WHERE  (Category  =  'Electronics'  OR  Category =  'Hair')
sql

Kan­di­da­ten filteren

In dit voorbeeld is er een tabel met de naam ‘Sol­li­ci­tan­ten’. We willen de mensen in deze tabel vinden die een diploma in elek­tro­tech­niek of IT hebben en minimaal drie jaar werk­er­va­ring hebben. Hiervoor com­bi­ne­ren we OR en AND. De zoek­op­dracht ziet er als volgt uit:

SELECT  *
FROM  Applicants
WHERE  (Degree  =  'Electrical engineering'  OR  Degree  =  'IT')
AND (Experience  >=  3)
sql

Zoeken op basis van regio

In ons laatste voorbeeld willen we zoeken naar klanten uit Frankrijk of Duitsland in een tabel met de naam ‘Klanten’. De syntaxis daarvoor ziet er als volgt uit:

SELECT  *
FROM  Customers
WHERE  Country  =  'France'  OR   Country  =  'Germany'
sql

Zijn er al­ter­na­tie­ven voor SQL OR?

De operator OR biedt een een­vou­di­ge en snelle manier om op basis van ver­schil­len­de voor­waar­den te zoeken. Deze SQL-ope­ra­to­ren hebben een ver­ge­lijk­baar doel:

  • CASE: De CASE-expressie van SQL kan ook worden gebruikt met WHERE, THEN en ELSE clausules om voor­waar­den te con­tro­le­ren en complexe analyses te beperken tot relevante re­sul­ta­ten. Deze wordt ge­ë­va­lu­eerd met behulp van een ‘IF-THEN-ELSE’-in­struc­tie en doorloopt de voor­waar­den van onder naar boven. De analyse wordt gestopt wanneer aan een van de voor­waar­den is voldaan.
  • IN: De IN -operator kan worden gebruikt in een WHERE clausule om records te on­der­zoe­ken. U kunt waarden of te­ken­reek­sen de­fi­ni­ë­ren met IN en ver­vol­gens zoeken naar over­een­kom­sten in tabellen of kolommen.
  • EXISTS: SQL’s EXISTS kan in een tabel worden gebruikt om te con­tro­le­ren of ten minste één record uit een andere tabel over­een­komt met de eerste tabel. Als er ten minste één over­een­komst is, wordt het resultaat toe­ge­voegd aan de doeltabel. Deze operator is alleen nuttig als u met twee ge­re­la­teer­de tabellen werkt.
Ga naar hoofdmenu