Ope­ra­to­ren SQL OR kan optimere din søgning efter poster ved at begrænse re­sul­ta­ter­ne til dem, der opfylder mindst én af dine be­tin­gel­ser. Du kan kombinere den med andre logiske ope­ra­to­rer som AND og NOT for at gøre komplekse fo­re­spørgs­ler hurtigere og mere effektive.

Hvad er SQL OR?

SQL -ope­ra­to­rer­ne­AND, NOT og OR er nogle af de vigtigste SQL-ope­ra­to­rer til søgning efter relevante op­lys­nin­ger. Mens AND finder data, der opfylder to eller flere be­tin­gel­ser, og NOT definerer kriterier, der skal udelades fra re­sul­ta­ter­ne, giver OR mulighed for mere fleksible søgninger. Den giver dig mulighed for at definere flere sø­ge­kri­te­ri­er, hvoraf mindst ét skal være opfyldt af re­sul­ta­ter­ne. Fordelen er, at du kan få relevante re­sul­ta­ter, der ikke nød­ven­dig­vis opfylder alle de angivne kriterier.

Da SQL OR bruges til at formulere sø­ge­kri­te­ri­er, anvendes det ofte sammen med SELECT og WHERE. SELECT angiver de på­gæl­den­de poster og kolonner, og WHERE angiver sø­ge­kri­te­ri­er­ne. For at gøre din sø­ge­fo­re­spørgsel endnu mere præcis kan du kombinere OR med andre logiske ope­ra­to­rer som AND og NOT eller sam­men­lig­nings­o­pe­ra­to­rer som =.

Hvad er for­skel­len mellem SQL OR, AND og NOT?

Her er for­skel­le­ne mellem SQL OR, AND og NOT:

SQL OR SQL AND SQL NOT
Filtrerer poster, der opfylder mindst én af be­tin­gel­ser­ne Filtrerer data, der opfylder alle be­tin­gel­ser­ne Udelader op­lys­nin­ger, der ikke opfylder en be­tin­gel­se
Udvider søgningen med andre op­lys­nin­ger Indsnæv­rer søgningen til en kom­bi­na­tion af be­tin­gel­ser, som begge er opfyldt Udelader ir­re­le­vant in­for­ma­tion ved hjælp af eks­klu­sions­kri­te­ri­er
Tip

Ingen erfaring med SQL? Intet problem! Vores in­tro­duk­tion til SQL med eksempler giver dig et lynkursus i det grund­læg­gen­de.

Hvordan ser syntaksen for SQL OR ud?

Den grund­læg­gen­de syntaks for OR ser således ud:

SELECT  *
FROM  Table
WHERE  condition1  OR  condition2  OR …
sql

Den bruger følgende parametre:

  • SELECT: Vælger de kolonner, du vil hente data fra, ved hjælp af pri­mær­nøg­ler og frem­med­nøg­ler. Du kan bruge en stjerne * til at vælge alle kolonner.
  • FROM: Angiver, hvilken tabel du vil søge i.
  • WHERE: Definerer sø­ge­be­tin­gel­ser ved hjælp af ope­ra­to­rer og andre parametre.
  • OR: Logisk operator, der bruges sammen med WHERE til at definere sø­ge­kri­te­ri­er.

Du kan også kombinere OR med NOT og AND i din søgning for at indsnævre søgningen yder­li­ge­re.

SQL OR kom­bi­ne­ret med AND

I dette eksempel filtrerer WHERE-sætningen re­sul­ta­ter­ne, så kun de re­sul­ta­ter vises, hvor både be­tin­gel­se 1 og mindst én af be­tin­gel­ser­ne 2 eller 3 er opfyldt.

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

SQL OR kom­bi­ne­ret med SQL NOT

Du kan kombinere SQL OR med NOT for at udelukke data, der opfylder mindst én af de angivne be­tin­gel­ser.

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

Hvad kan SQL OR bruges til?

Du kan bruge OR -ope­ra­to­ren til at søge i komplekse datasæt ud fra flere kriterier. Her er nogle eksempler på an­ven­del­se:

  • Fil­tre­ring af kunde-, ordre- og pro­duk­t­da­ta ud fra kom­bi­ne­re­de sø­ge­kri­te­ri­er som pro­dukt­ka­te­go­ri­er, pro­duk­te­gen­ska­ber eller datoer for ordrer og re­k­la­ma­tio­ner
  • Søgning efter virk­som­he­der i bestemte brancher eller regioner
  • Fil­tre­ring af mistæn­ke­li­ge eller ugyldige transak­tio­ner ved hjælp af flere be­tin­gel­ser
  • Søgning efter op­lys­nin­ger om me­d­ar­bej­de­re fra en bestemt afdeling eller et bestemt team
  • Hentning af ansøgere, der ikke har en ud­dan­nel­se eller ikke har er­hverv­ser­fa­ring

Eksempler på SQL OR

Ope­ra­to­ren OR kan bruges på utallige måder, når den kom­bi­ne­res med WHERE, andre SQL-ope­ra­to­rer og andre SQL-funk­tio­ner. Nedenfor ser vi på tre eksempler, så du kan få et bedre indtryk af, hvordan OR fungerer.

Søgning efter ordrer fra bestemte ka­te­go­ri­er

Lad os sige, at du vil søge i en kun­de­ta­bel efter personer, der har bestilt produkter fra enten ka­te­go­ri­en »Elek­tro­nik« eller »Hår« – eller begge dele. Re­sul­ta­ter­ne vil kun omfatte poster, der opfylder mindst én af de to be­tin­gel­ser. Vi bruger sam­men­lig­nings­o­pe­ra­to­ren = til at angive ka­te­go­ri­er­ne.

Syntaksen ser således ud:

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

Ud­væl­gel­se af ansøgere

I dette eksempel er der en tabel ved navn »Ansøgere«. Vi vil finde de personer i tabellen, der har en ud­dan­nel­se inden for elek­tro­tek­nik eller IT og har mindst tre års er­hverv­ser­fa­ring. For at gøre dette kom­bi­ne­rer vi OR og AND. Søgningen ser således ud:

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

Søgning efter region

I vores sidste eksempel vil vi søge efter kunder fra Frankrig eller Tyskland i en tabel ved navn »Kunder«. Syntaksen ser således ud:

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

Findes der al­ter­na­ti­ver til SQL OR?

Ope­ra­to­ren OR giver en enkel og hurtig måde at søge på ud fra flere be­tin­gel­ser. Disse SQL-ope­ra­to­rer tjener et lignende formål:

  • CASE: SQL’s CASE-udtryk kan også bruges sammen med WHERE, THEN og ELSE til at kon­trol­le­re be­tin­gel­ser og indsnævre komplekse analyser til relevante re­sul­ta­ter. Det evalueres ved hjælp af en »IF-THEN-ELSE«-sætning og gennemgår be­tin­gel­ser­ne fra bund til top. Analysen afbrydes, når en af be­tin­gel­ser­ne er opfyldt.
  • IN: Ope­ra­to­ren IN kan bruges i en WHERE klausul til at undersøge poster. Du kan definere værdier eller strenge ved hjælp af IN og derefter søge efter match i tabeller eller kolonner.
  • EXISTS: SQL’s EXISTS kan bruges i en tabel til at kon­trol­le­re, om mindst én post fra en anden tabel matcher den første tabel. Hvis der er mindst ét match, føjes re­sul­ta­tet til må­l­ta­bel­len. Denne operator er kun nyttig, hvis du arbejder med to re­la­te­re­de tabeller.
Gå til ho­ved­me­nu­en