SQL OR: query di dati con più condizioni

L’operatore SQL OR ottimizza la tua ricerca nei record di dati per ottenere risultati che soddisfino almeno una delle varie condizioni definite. Inoltre, è possibile combinare SQL OR con altri operatori logici, come AND o NOT, per migliorare e velocizzare le tue query più complesse.

Che cos’è l’operatore SQL OR?

Gli operatori SQL AND, SQL NOT e SQL OR sono fra gli operatori SQL più importanti per la ricerca delle informazioni che ti interessano. Mentre AND trova i dati che soddisfano più condizioni e NOT serve a definire criteri di esclusione, SQL OR permette di espandere l’insieme dei risultati. In pratica, ti consente di definire più condizioni di ricerca, i cui risultati devono soddisfare almeno uno dei criteri. Il vantaggio è la possibilità di filtrare i risultati pertinenti che non devono però soddisfare obbligatoriamente tutti i criteri.

L’operatore OR serve a formulare una condizione di ricerca ed è quindi utilizzato di solito insieme a SQL SELECT e SQL WHERE per ottenere record di dati, colonne e condizioni di ricerca rilevanti. Per rendere ancora più precise le tue query, è possibile combinare OR anche con altri operatori logici come AND e NOT oppure con altri operatori di confronto come =.

SQL OR, AND e NOT in breve

Gli operatori SQL OR, AND e NOT si differenziano nel modo seguente:

SQL OR SQL AND SQL NOT
Filtra i record di dati che soddisfano almeno una delle condizioni Considera solo i dati che soddisfano tutte le condizioni Ignora le informazioni che non soddisfano una data condizione
Espande l’ambito di ricerca a più informazioni differenti Restringe la ricerca a una combinazione di condizioni applicabili Ignora le informazioni non pertinenti in base a criteri di esclusione
Consiglio

Se desideri entrare nel mondo del noto linguaggio per database e programmazione SQL, puoi farlo rapidamente anche partendo da zero. Troverai le principali nozioni di base nella nostra introduzione a SQL mediante esempi.

La sintassi dell’operatore OR

Per le tue query di dati puoi definire due o più condizioni di ricerca. La sintassi di OR è semplice e si presenta così:

SELECT  *
FROM  Tabella
WHERE  condizionericerca1  OR  condizionericerca2  OR …
sql

Sono disponibili i seguenti parametri:

  • SELECT: seleziona le colonne interessate da cui richiamare i dati per mezzo delle effettive chiavi primarie ed esterne. Inserendo un asterisco * al posto del nome di una colonna è possibile eseguire la ricerca nell’intero record di dati.
  • FROM: definisce la tabella in cui eseguire la query di ricerca.
  • WHERE: utilizza operatori e ulteriori parametri per definire condizioni di ricerca con cui restringere le query di dati.
  • OR: utilizzato come operatore logico in combinazione con SQL WHERE per definire i criteri di ricerca che devono essere soddisfatti o non soddisfatti dai risultati.

Per definire ulteriormente la tua query di dati è disponibile una combinazione opzionale con AND o NOT.

SQL OR in combinazione con AND

In combinazione con AND è necessario che sia rispettato almeno uno dei criteri di ricerca di OR, mentre entrambe le condizioni di ricerca OR devono soddisfare la condizione AND.

SELECT  *
FROM  Tabella
WHERE  (condizionericerca1  OR  condizionericerca2)  AND  condizionericerca 3
sql

SQL OR in combinazione con SQLNOT`

In combinazione con NOT è possibile escludere i dati che non soddisfano almeno uno dei criteri di ricerca definiti.

SELECT  *
FROM  Tabella
WHERE  NOT  (condizionericerca1  OR  condizionericerca2)
sql

Applicazioni dell’operatore NOT

Con l’operatore OR è possibile cercare record di dati complessi in modo mirato in base a più criteri. Le possibili applicazioni sono, ad esempio:

  • Filtraggio di clienti, dati relativi a ordini o prodotti in base a criteri di ricerca combinati, come categorie di prodotto, caratteristiche del prodotto o data di un ordine o reclamo
  • Ricerca di imprese in determinati settori o in determinate regioni
  • Filtraggio di transazioni sospette o non valide in base a più condizioni
  • Ricerca di informazioni sui dipendenti che fanno parte di un dato reparto o team
  • Individuazione di candidati che non offrono determinate qualifiche o privi di esperienza professionale
Consiglio

Ogni sistema di gestione dei database sicuro e scalabile ha bisogno di una soluzione di hosting adatta alle tue esigenze. Scegliendo l’hosting SQL server di IONOS avrai a tua disposizione funzionalità di protezione dei dati conformi agli standard europei.

Server virtuali (VPS)
Virtualizzazione totale con accesso root completo
  • Traffico illimitato e fino a 1 Gbit/s di larghezza di banda
  • Storage SSD NVMe veloce
  • Plesk Web Host Edition incluso

Esempi pratici per l’operatore SQL OR

Le possibilità di applicazione dell’operatore OR sono quasi illimitate grazie alle combinazioni con SQL WHERE, altri operatori SQL e ulteriori funzioni SQL. Nelle parti seguenti ti mostriamo tre pratici esempi di applicazione per comprendere meglio il funzionamento di OR.

Ricerca di ordini in base a determinate categorie

Il tuo obiettivo è cercare, in una tabella clienti, soltanto le persone che hanno ordinato i prodotti della categoria “Elettronica”, della categoria “Bellezza” o di entrambe. I risultati devono contenere solo le informazioni rilevanti per almeno una delle condizioni. Per definire le categorie, utilizza l’operatore di confronto =.

La sintassi si presenta così:

SELECT  *
FROM  Clienti
WHERE  (Categoria  =  'Elettronica'  OR  Categoria =  'Bellezza')
sql

Filtraggio di candidati

In una tabella “Candidati” vogliamo trovare solo le persone che hanno un titolo di studio in “Elettrotecnica” o in “Informatica” e che in entrambi i casi dispongono di almeno tre anni di esperienza professionale. A tal fine, utilizza OR e AND in combinazione. La ricerca si presenta così:

SELECT  *
FROM  Candidati
WHERE  (Titolo  =  'Elettrotecnica'  OR  Titolo  =  'Informatica')
AND (Esperienza  >=  3)
sql

Ricerca di dati per regione

Nella tabella “Clienti” stiamo cercando i clienti in Italia o in Svizzera. La sintassi è la seguente:

SELECT  *
FROM  Clienti
WHERE  Stato  =  'Italia'  OR   Stato  =  'Svizzera'
sql

Alternative a SQL OR

L’operatore OR consente una ricerca facile e veloce utilizzando più criteri di ricerca alternativi. Funzionalità simili o identiche sono offerte da altri operatori SQL come:

  • CASE: l’istruzione SQL CASE ti permette di utilizzare le clausole WHERE, THEN ed ELSE per verificare anche le condizioni di ricerca e definire analisi complesse per insiemi risultato pertinenti. La valutazione ha luogo in base al metodo “IF-THEN-ELSE” da una condizione all’altra e dal basso verso l’alto. L’analisi si ferma quando una delle condizioni diventa vera.
  • IN: con l’operatore IN in combinazione con la clausola WHERE è possibile eseguire ricerche nei record di dati definendo valori o sequenze di caratteri per mezzo di IN e cercando le corrispondenze in una tabella o in una colonna.
  • EXISTS: con l’operatore SQL EXISTS è possibile controllare in un’intera tabella se almeno un record di dati selezionato di un’altra tabella corrisponde alla prima tabella. In presenza di almeno una corrispondenza, il risultato diventa parte della tabella di destinazione. L’operatore è però utile soltanto se le due tabelle sono in relazione fra loro.
Hai trovato questo articolo utile?
Per offrirti una migliore esperienza di navigazione online questo sito web usa dei cookie, propri e di terze parti. Continuando a navigare sul sito acconsenti all’utilizzo dei cookie. Scopri di più sull’uso dei cookie e sulla possibilità di modificarne le impostazioni o negare il consenso.
Page top