SQL NOT: ricerche precise con criteri di esclusione
L’operatore NOT
di SQL fa parte degli operatori logici e consente un filtraggio efficiente e preciso dei risultati di ricerca in base al metodo per esclusione. Utilizzando NOT
per escludere i dati che rispettano determinate condizioni puoi restringere i risultati in base alle informazioni di tuo interesse.
Che cos’è l’operatore SQL NOT
?
SQL NOT, insieme a SQL AND
e SQL OR, fa parte degli operatori SQL logici che ti permettono di formulare condizioni e criteri per le query di dati. Mentre gli operatori AND
e OR
filtrano i record di dati che soddisfano tutte le condizioni o almeno una di esse, l’operatore NOT
si basa sul metodo per esclusione. In questo modo è possibile escludere dai risultati della tua ricerca tutte le informazioni nei record di dati selezionati che non corrispondono alla condizione definita.
SQL NOT
si usa spesso in combinazione con SQL SELECT, SQL WHERE e SQL HAVING
. Per configurare la ricerca nel modo più preciso possibile puoi anche combinare l’operatore NOT
con gli operatori AND
e OR
. In questo modo è possibile filtrare i risultati non rilevanti che non soddisfano tutte le condizioni definite (AND
) oppure che non corrispondono ad almeno una delle condizioni indicate (OR
).
Panoramica delle differenze fra SQL NOT
, AND
e OR
Gli operatori SQL NOT
, AND
e OR
si differenziano in breve come segue:
SQL NOT |
SQL AND |
SQL OR |
---|---|---|
Restituisce solo i record di dati che non soddisfano una condizione definita | Restituisce i record di dati che soddisfano tutti i criteri di ricerca prestabiliti | Mostra tutte le informazioni che soddisfano almeno una delle condizioni definite |
Nega una condizione che non è rilevante per la ricerca | Combina le condizioni per limitare la ricerca alle informazioni che corrispondono a più criteri di ricerca | Estende i risultati della ricerca ai dati che soddisfano uno dei vari criteri |
Vorresti approfondire l’utilizzo di SQL, ma le tue conoscenze sono ancora troppo limitate? Allora segui la nostra introduzione a SQL mediante esempi per entrare rapidamente nel mondo di questo linguaggio per database.
La sintassi dell’operatore NOT
La semplice sintassi di NOT
si presenta così:
SELECT *
FROM Tabella
WHERE NOT (condizionericerca)
sqlSono disponibili i seguenti parametri:
SELECT
: seleziona le colonne rilevanti per la tua ricerca. Con un asterisco*
è possibile eseguire la ricerca nell’intera tabella selezionata e in tutte le relative colonne. Inoltre, è possibile definire anche singole colonne con la rispettiva chiave primaria o esterna.FROM
: definisce la tabella in cui eseguire la ricerca.WHERE
: definisce le condizioni per mezzo di operatori come SQLNOT
per limitare la query di dati.NOT
: in combinazione conWHERE
, definisce la negazione di una condizione che non deve essere soddisfatta dai risultati della ricerca.
Se desideri precisare la tua query di dati, puoi utilizzare una combinazione con AND
o OR
.
SQL NOT
: combinazione con AND
In combinazione con AND
, i risultati che soddisfano entrambe le condizioni di ricerca, non devono far parte dell’insieme dei risultati.
SELECT *
FROM Tabella
WHERE NOT (condizionericerca1 AND condizionericerca2)
sqlSQL NOT
: combinazione con OR
In combinazione con OR
è possibile escludere i dati che non soddisfano almeno una delle condizioni di ricerca.
SELECT *
FROM Tabella
WHERE NOT (condizionericerca1 OR condizionericerca2)
sqlPossibilità di applicazione dell’operatore NOT
Le possibilità di utilizzo per query e ricerche con NOT
sono quasi illimitate. Ad esempio è possibile:
- Escludere dati dei clienti, ordini o prodotti per regione, anno, categoria, prezzo o caratteristiche
- Ignorare record di dati con valori non validi o mancanti
- Filtrare dati finanziari che non soddisfano determinati criteri di transazione
- Escludere dati di dipendenti che non fanno parte di un dato reparto
- Filtrare ed escludere candidati che non rispondono a una determinata qualifica
Desideri gestire i dati in modo efficiente con un sistema di gestione di database sicuro e scalabile? Allora l’hosting SQL server di IONOS è la soluzione giusta per te, con le offerte per server e hosting più adatte alle tue esigenze e con sicurezza dei dati conforme 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 NOT
A seconda dell’applicazione, la ricerca con l’operatore NOT
può variare di molto, in base alla definizione della condizione con la clausola WHERE
, con l’operatore NOT
e con ulteriori operatori opzionali. Per chiarire il funzionamento ti mostriamo tre esempi pratici di applicazione.
Esclusione di dipendenti per regione
L’obiettivo è ottenere una tabella “Dipendenti” contenente solo le informazioni sui dipendenti che non vivono in Italia. A tal fine definisci la condizione nel modo seguente utilizzando la colonna “Paese”, la clausola WHERE
, l’operatore NOT
e l’operatore di confronto =
:
SELECT *
FROM Dipendenti
WHERE NOT (Paese = 'Italia')
sqlPuoi procedere in modo simile, ad esempio, se vuoi visualizzare in una tabella soltanto i prodotti che non sono più disponibili a magazzino.
SELECT *
FROM Prodotti
WHERE NOT (Scorta > 0)
sqlFiltraggio di gruppi di clienti
In una tabella “Clienti” desideri cercare un determinato gruppo di clienti che non soddisfano le condizioni prestabilite. In questo esempio, i clienti non devono avere meno di 30 anni e non devono vivere a Milano. Pertanto, oltre a NOT
, utilizziamo anche operatori di confronto e l’operatore AND
.
SELECT *
FROM Clienti
WHERE NOT (Età < 30 AND Città = 'Milano')
sqlFiltraggio di qualifiche mancanti per la candidatura
Qui desideri escludere determinati risultati da una tabella “Candidati” che non possiedono qualifiche specifiche come “Laurea triennale” o “Esperienza professionale”. La ricerca si presenta così:
SELECT *
FROM Candidati
WHERE NOT (Titolo di studio = ´Laurea triennale´ OR Esperienza professionale < 3)
sqlAlternative a SQL NOT
Un’alternativa che svolga la stessa identica funzione non esiste, poiché l’operatore NOT
è caratterizzato dalla negazione di criteri di ricerca. Data la versatilità dell’operatore SQL NOT
, è comunque possibile combinarlo con diversi comandi SQL per creare query più precise. Alcuni di questi sono SQL JOIN o le funzioni di aggregazione SQL HAVING
come SQL SUM o AVG
, gli operatori di confronto come =
oppure >
, nonché comandi e operatori come SQL LIKE. Per limitare o espandere il metodo per esclusione in base a più condizioni, puoi utilizzare inoltre gli operatori logici AND
e OR
.