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 |
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 …
sqlSono 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 SQLWHERE
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
sqlSQL OR
in combinazione con SQL
NOT`
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)
sqlApplicazioni 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
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.
- 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')
sqlFiltraggio 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)
sqlRicerca 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'
sqlAlternative 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 clausoleWHERE
,THEN
edELSE
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’operatoreIN
in combinazione con la clausolaWHERE
è possibile eseguire ricerche nei record di dati definendo valori o sequenze di caratteri per mezzo diIN
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.