Operatoren OR i SQL kan optimalisere søket etter poster ved å begrense resultatene til de som oppfyller minst ett av kriteriene dine. Du kan kombinere den med andre logiske operatorer, som AND og NOT, for å gjøre komplekse spørringer raskere og mer effektive.

Hva er SQL OR?

SQL-operatoreneAND, NOT og OR er blant de viktigste når det gjelder å søke etter relevant informasjon. Mens AND finner data som oppfyller to eller flere betingelser og NOT definerer kriterier som skal utelates fra resultatene, gir OR mulighet for mer fleksible søk. Den lar deg definere flere søkekriterier, hvorav minst ett må oppfylles av resultatene. Fordelen er at du kan få relevante resultater som ikke nødvendigvis oppfyller alle de oppførte kriteriene.

Siden SQL OR brukes til å formulere søkekriterier, brukes det ofte sammen med SELECT og WHERE. SELECT angir de aktuelle postene og kolonnene, mens WHERE angir søkekriteriene. For å gjøre søket enda mer presist kan du kombinere OR med andre logiske operatorer som AND og NOT eller sammenligningsoperatorer som =.

Hva er forskjellen mellom SQL OR, AND og NOT?

Her er forskjellene mellom SQL OR, AND og NOT:

SQL OR SQL AND SQL NOT
Filtrerer poster som oppfyller minst ett av vilkårene Filtrerer data som oppfyller alle betingelsene Utelater informasjon som ikke oppfyller et vilkår
Utvider søket med annen informasjon Begrenser søket til en kombinasjon av betingelser, som begge er oppfylt Utelater irrelevant informasjon ved hjelp av ekskluderingskriterier
Tip

Har du ingen erfaring med SQL? Ikke noe problem! Vår innføring i SQL med eksempler gir deg et lynkurs i grunnleggende kunnskap.

Hva er syntaksen i SQL OR?

Den grunnleggende syntaksen til OR ser slik ut:

SELECT  *
FROM  Table
WHERE  condition1  OR  condition2  OR …
sql

Den bruker følgende parametere:

  • SELECT: Velger kolonnene du ønsker å hente data fra, ved hjelp av primærnøkler og fremmednøkler. Du kan bruke en stjerne * for å velge alle kolonnene.
  • FROM: Angir hvilken tabell du vil søke i.
  • WHERE: Definerer søkebetingelser ved hjelp av operatorer og andre parametere.
  • OR: Logisk operator som brukes sammen med WHERE for å definere søkekriterier.

Du kan også kombinere OR med NOT og AND i søket ditt for å avgrense søket ytterligere.

SQL OR kombinert med AND

I dette eksemplet filtrerer WHERE-klausulen etter resultater der både betingelse 1 og minst én av betingelsene 2 eller 3 er oppfylt.

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

SQL OR kombinert med SQL NOT

Du kan kombinere SQL OR med NOT for å ekskludere data som oppfyller minst ett av de oppførte vilkårene.

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

Hva kan SQL OR brukes til?

Du kan bruke OR -operatoren til å søke i komplekse datasett basert på flere kriterier. Her er noen eksempler på bruksområder:

  • Filtrering av kunde-, ordre- og produktdata basert på kombinerte søkekriterier som produktkategorier, produktegenskaper eller datoer for ordre og klager
  • Søke etter selskaper i bestemte bransjer eller regioner
  • Filtrering av mistenkelige eller ugyldige transaksjoner ved hjelp av flere betingelser
  • Søke etter informasjon om ansatte fra en bestemt avdeling eller et bestemt team
  • Hente frem søkere som ikke har en grad eller ikke har arbeidserfaring

Eksempler på SQL OR

Operatoren OR har utallige bruksområder når den kombineres med WHERE, andre SQL-operatorer og andre SQL-funksjoner. Nedenfor skal vi se på tre eksempler, slik at du kan få et bedre inntrykk av hvordan OR fungerer.

Søke etter bestillinger fra bestemte kategorier

La oss si at du vil søke i en kundetabell etter personer som har bestilt produkter fra enten kategorien «Elektronikk» eller «Hår», eller begge deler. Resultatene vil kun inneholde poster som oppfyller minst ett av de to vilkårene. Vi bruker sammenligningsoperatoren = for å angi kategoriene.

Syntaksen for dette ser slik ut:

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

Sortering av søkere

I dette eksemplet har vi en tabell som heter «Applicants». Vi ønsker å finne personene i tabellen som har en utdannelse innen elektroteknikk eller IT og minst tre års arbeidserfaring. For å gjøre dette kombinerer vi OR og AND. Søket ser slik ut:

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

Søk etter region

I vårt siste eksempel ønsker vi å søke etter kunder fra Frankrike eller Tyskland i en tabell som heter «Kunder». Syntaksen for dette ser slik ut:

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

Finnes det alternativer til SQL OR?

Operatoren OR gir en enkel og rask måte å søke på basert på flere kriterier. Disse SQL-operatorene har et lignende formål:

  • CASE: SQL-uttrykket CASE kan også brukes sammen med WHERE, THEN og ELSE for å sjekke betingelser og begrense komplekse analyser til relevante resultater. Det evalueres ved hjelp av en «IF-THEN-ELSE»-setning og går gjennom betingelsene fra bunnen og opp. Analysen avsluttes når en av betingelsene er oppfylt.
  • IN: Operatoren IN kan brukes i en WHERE for å undersøke poster. Du kan definere verdier eller strenger ved hjelp av IN og deretter søke etter treff i tabeller eller kolonner.
  • EXISTS: SQLs EXISTS kan brukes i en tabell for å sjekke om minst én post fra en annen tabell samsvarer med den første tabellen. Hvis det er minst én samsvar, vil resultatet bli lagt til måltabellen. Denne operatoren er kun nyttig hvis du arbeider med to relaterte tabeller.
Go to Main Menu