OR -operatorn kan optimera din sökning efter poster genom att begränsa resultaten till de som uppfyller minst ett av dina villkor. Du kan kombinera den med andra logiska operatorer som AND och NOT för att påskynda och förbättra komplexa sökningar.

Vad är SQL OR?

SQL:s AND, NOT och OR är några av de viktigaste SQL-operatorerna för att söka efter relevant information. Medan AND hittar data som uppfyller två eller flera villkor och NOT definierar kriterier som ska utelämnas från resultaten, möjliggör OR mer flexibla sökningar. Det låter dig definiera flera sökkriterier, varav minst ett måste uppfyllas av resultaten. Fördelen är att du kan få relevanta resultat som inte nödvändigtvis uppfyller alla angivna kriterier.

Eftersom SQL OR används för att formulera sökkriterier används det ofta tillsammans med SELECT och WHERE. SELECT specificerar de aktuella posterna och kolumnerna och WHERE specificerar sökkriterierna. För att göra din sökfråga ännu mer precis kan du kombinera OR med andra logiska operatorer som AND och NOT eller jämförelseoperatorer som =.

Vad är skillnaden mellan SQL OR, AND och NOT?

Här är skillnaderna mellan SQL OR, AND och NOT:

SQL OR SQL AND SQL NOT
Filtrerar poster som uppfyller minst ett av villkoren Filtrerar data som uppfyller alla villkor Utelämnar information som inte uppfyller ett villkor
Utvidgar sökningen med annan information Begränsar sökningen till en kombination av villkor som båda är uppfyllda Utelämnar irrelevant information med hjälp av kriterier för uteslutning
Tips

Ingen erfarenhet av SQL? Inga problem! Vår introduktion till SQL med exempel ger dig en snabbkurs i grunderna.

Vad är syntaxen för SQL OR?

Den grundläggande syntaxen för OR ser ut som följer:

SELECT  *
FROM  Table
WHERE  condition1  OR  condition2  OR …
sql

Den använder följande parametrar:

  • SELECT: Väljer de kolumner du vill hämta data från med hjälp av primära och främmande nycklar. Du kan använda en asterisk * för att välja alla kolumner.
  • FROM: Anger vilken tabell du vill söka i.
  • WHERE: Definierar sökvillkor med hjälp av operatorer och andra parametrar.
  • OR: Logisk operator som används tillsammans med WHERE för att definiera sökkriterier.

Du kan också kombinera OR med NOT och AND i din sökning för att ytterligare begränsa sökningen.

SQL OR i kombination med AND

I det här exemplet filtrerar WHERE-satsen efter resultat där både villkor 1 och minst ett av villkoren 2 eller 3 är sanna.

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

SQL OR i kombination med SQL NOT

Du kan kombinera SQL OR med NOT för att utesluta data som uppfyller minst ett av de angivna villkoren.

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

Vad kan SQL OR användas till?

Du kan använda OR -operatorn för att söka i komplexa datamängder baserat på flera kriterier. Här är några användningsfall:

  • Filtrering av kund-, order- och produktdata baserat på kombinerade sökkriterier som produktkategorier, produktegenskaper eller order- och reklamationsdatum
  • Söka efter företag i vissa branscher eller regioner
  • Filtrera misstänkta eller ogiltiga transaktioner med hjälp av flera villkor
  • Söka efter information om anställda från en specifik avdelning eller ett specifikt team
  • Hämta sökande som inte har en examen eller arbetslivserfarenhet

Exempel på SQL OR

Det finns otaliga användningsområden för operatorn OR när den kombineras med WHERE, andra SQL-operatorer och andra SQL-funktioner. Nedan tittar vi på tre exempel så att du får en bättre uppfattning om hur OR fungerar.

Söka efter order från vissa kategorier

Anta att du vill söka i en kundtabell efter personer som har beställt produkter från endera eller båda kategorierna “Elektronik” och “Hår”. Resultaten kommer endast att inkludera poster som uppfyller minst ett av de två villkoren. Vi använder jämförelseoperatorn = för att ange kategorierna.

Syntaxen för detta ser ut som följer:

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

Filtrering av sökande

I det här exemplet finns en tabell som heter ”Sökande”. Vi vill hitta de personer i tabellen som har en examen i elektroteknik eller IT och minst tre års arbetserfarenhet. För att göra detta kombinerar vi OR och AND. Sökningen ser ut som följer:

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

Sökning baserad på region

I vårt sista exempel vill vi söka efter kunder från Frankrike eller Tyskland i en tabell som heter “Kunder”. Syntaxen för det ser ut som följer:

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

Finns det alternativ till SQL OR?

Operatorn OR erbjuder ett enkelt och snabbt sätt att söka utifrån flera villkor. Dessa SQL-operatorer har ett liknande syfte:

  • CASE: SQL:s CASE-uttryck kan också användas med WHERE, THEN och ELSE för att kontrollera villkor och begränsa komplexa analyser till relevanta resultat. Det utvärderas med hjälp av ett “IF-THEN-ELSE”-uttryck och går igenom villkoren från botten till toppen. Analysen avbryts när ett av villkoren är uppfyllt.
  • IN: Operatören IN kan användas i en WHERE klausul för att undersöka poster. Du kan definiera värden eller strängar med IN och sedan söka efter matchningar i tabeller eller kolumner.
  • EXISTS: SQL:s EXISTS kan användas i en tabell för att kontrollera om minst en post från en annan tabell matchar den första tabellen. Om det finns minst en matchning läggs resultatet till i måltabellen. Denna operator är endast användbar om du arbetar med två relaterade tabeller.
Gå till huvudmeny