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
Consiglio

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)
sql

Sono 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 SQL NOT per limitare la query di dati.
  • NOT: in combinazione con WHERE, 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)
sql

SQL 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)
sql

Possibilità 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
Consiglio

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.

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 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')
sql

Puoi 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)
sql

Filtraggio 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')
sql

Filtraggio 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)
sql

Alternative 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.

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