Vai al contenuto principale

Operatore SQL NOT EQUAL: guida per principianti

Sfrutta la potenza di SQL NOT EQUAL con la nostra guida esperta. Impara a perfezionare le query sui dati con esempi pratici e consigli di ottimizzazione per un'analisi migliore.
Aggiornato 29 set 2026  · 6 min leggi

Scopri con l'IA

ChatGPTClaudePerplexity

Nel mondo di SQL, comprendere gli operatori di confronto è fondamentale per la manipolazione e l'analisi dei dati. Tra questi operatori, NOT EQUAL (<> o !=) svolge un ruolo essenziale nel filtrare i dati che non corrispondono a criteri specificati. Questo tutorial mira a chiarire l'operatore NOT EQUAL, guidando i principianti attraverso la sua importanza, applicazione e sfumature per query SQL efficienti.

Introduzione agli operatori di confronto

Gli operatori di confronto sono alla base di SQL e permettono di valutare i dati rispetto a condizioni specifiche. Tra questi troviamo gli operatori per l'uguaglianza (=), la disuguaglianza (<>, !=), maggiore di (>) e minore di (<), tra gli altri. È importante notare che SQL fornisce due simboli per indicare la disuguaglianza: <> e !=, entrambi con la stessa funzione, ma <> è la scelta preferita per aderire agli standard ISO.

Esplorare l'operatore SQL NOT EQUAL

Perché usare NOT EQUAL?

L'operatore NOT EQUAL (<> o !=) viene usato per interrogare i dati da una tabella che non soddisfano una certa condizione. Consente di escludere righe specifiche dai risultati, rendendo l'analisi dei dati più precisa e pertinente.

Sintassi e utilizzo

La sintassi per usare l'operatore NOT EQUAL è semplice e prevede il confronto di due espressioni per filtrare i dati non corrispondenti. Può essere utilizzato con diverse clausole e condizioni, come WHERE, JOIN e HAVING. 

Clausola WHERE

Può essere usato per filtrare le righe in cui il valore di una colonna non corrisponde a un valore specificato. Ad esempio, per selezionare i prodotti da un database escludendo un determinato ID prodotto, si userebbe il seguente codice:

SELECT * 
FROM products 
WHERE ProductID <> 1;

Condizioni JOIN

Può essere utilizzato nelle clausole ON per definire le condizioni di join tra tabelle.

SELECT e1.name, e2.name
FROM employees e1
JOIN employees e2
ON e1.manager_id != e2.employee_id;

Clausola HAVING

Può essere utilizzato per filtrare dati raggruppati in base a condizioni di aggregazione.

SELECT department_id, COUNT(*)
FROM employees
GROUP BY department_id
HAVING COUNT(*) != 5;

Istruzioni CASE

Può essere utilizzato per la logica condizionale per restituire risultati specifici quando la condizione è soddisfatta.

SELECT name, 
       CASE 
           WHEN department_id != 10 THEN 'Other Department' 
           ELSE 'Department 10'
       END AS department_category
FROM employees;

Istruzioni UPDATE

Può essere usato nella clausola WHERE per specificare le righe da aggiornare in base alla non uguaglianza.

UPDATE employees
SET salary = salary * 1.1
WHERE job_id != 'Manager';

ISTRUZIONI DELETE

Può essere usato nella clausola WHERE per identificare le righe da eliminare quando la condizione è vera.

DELETE FROM employees
WHERE department_id != 10;

Esempi pratici

Approfondiamo l'applicazione pratica dell'operatore SQL NOT EQUAL con esempi estesi che ne dimostrano versatilità e potenza nelle interrogazioni ai database. Questi esempi illustreranno come usare efficacemente != e <> in vari scenari, migliorando le tue abilità di query SQL.

Esempio 1: Filtrare record specifici

Immagina una tabella di database chiamata Employees con le colonne EmployeeID, Name e DepartmentID. Per escludere i dipendenti di un reparto specifico, ad esempio DepartmentID 3, puoi usare l'operatore NOT EQUAL:

EmployeeID

Name

DepartmentID

1

Alice Johnson

1

2

Bob Smith

2

3

Carol White

3

4

David Green

2

5

Erin Black

4

SELECT EmployeeID, Name, DepartmentID
FROM Employees
WHERE DepartmentID != 3;

Questa query recupera tutti i dipendenti che non fanno parte del DepartmentID 3, escludendo di fatto le persone di quel reparto specifico.

EmployeeID

Name

DepartmentID

1

Alice Johnson

1

2

Bob Smith

2

4

David Green

2

5

Erin Black

4

Esempio 2: Combinare condizioni

Ora, supponi di voler escludere i dipendenti del DepartmentID 3 e quelli i cui nomi iniziano con "A". Questo richiede di combinare l'operatore NOT EQUAL con altre condizioni usando AND e LIKE:

SELECT EmployeeID, Name, DepartmentID
FROM Employees
WHERE DepartmentID <> 3 AND Name NOT LIKE 'A%';

Questa query mostra come usare NOT EQUAL insieme a LIKE per il pattern matching, escludendo un sottoinsieme di dipendenti in base a criteri di reparto e nome.

EmployeeID

Name

DepartmentID

2

Bob Smith

2

4

David Green

2

5

Erin Black

4

Esempio 3: Gestire i valori NULL

Gestire i valori NULL in SQL richiede particolare attenzione, poiché NULL rappresenta un valore sconosciuto. Per trovare i dipendenti il cui ManagerID non è noto (cioè NULL), potresti pensare di usare != o <>. Tuttavia, l'approccio corretto è usare IS NOT NULL:

EmployeeID

Name

DepartmentID

ManagerID

1

Alice Johnson

1

NULL

2

Bob Smith

2

1

3

Carol White

3

1

4

David Green

2

2

5

Erin Black

4

3

Tabella Employees aggiornata

SELECT EmployeeID, Name
FROM Employees
WHERE ManagerID IS NOT NULL;

Questa query restituisce i dipendenti che hanno un ManagerID noto, escludendo quelli con NULL ManagerID. Mette in evidenza l'importanza di capire come SQL interpreta i valori NULL nelle operazioni di confronto.

EmployeeID

Name

2

Bob Smith

3

Carol White

4

David Green

5

Erin Black

Esempio 4: Uso di NOT EQUAL con aggregazioni

Immagina di voler analizzare i dati di vendita dalla tabella Sales, escludendo le vendite dell'anno 2020. Combinare GROUP BY con NOT EQUAL ti consente di aggregare i dati escludendo anni specifici:

SaleID

SaleDate

Quantity

1

2019-05-01

2

2

2019-08-15

1

3

2020-04-20

3

4

2021-07-22

1

5

2021-11-05

2

6

2022-01-30

4

Tabella Sales

SELECT YEAR(SaleDate) AS SaleYear, COUNT(*) AS TotalSales
FROM Sales
GROUP BY YEAR(SaleDate)
HAVING YEAR(SaleDate) <> 2020;

Questa query aggrega le vendite per anno ed esclude il totale dell'anno 2020, mostrando come NOT EQUAL possa essere usato con funzioni di aggregazione e GROUP BY per affinare l'analisi dei dati.

SaleYear

TotalSales

2019

2

2021

2

2022

1

Esempio 5: Ottimizzazione delle prestazioni

Quando interroghi set di dati di grandi dimensioni, le prestazioni possono risentire di come strutturi le condizioni NOT EQUAL. Supponi di lavorare con una tabella Products e di voler escludere i prodotti nelle categorie 5 e 7. Invece di usare più volte NOT EQUAL, potrebbe essere più efficiente usare NOT IN:

ProductID

Name

CategoryID

1

Wireless Mouse

1

2

Gaming Keyboard

5

3

USB-C Charging Cable

3

4

Bluetooth Speakers

7

5

Ergonomic Chair

2

6

LED Monitor

4

7

Smartwatch

5

8

Desk Lamp

6

9

Webcam

2

SELECT ProductID, Name
FROM Products
WHERE CategoryID NOT IN (5, 7);

Questa query è più concisa e potenzialmente più efficiente su grandi dataset, illustrando una tecnica di ottimizzazione quando si escludono più valori specifici.

ProductID

Name

1

Wireless Mouse

3

USB-C Charging Cable

5

Ergonomic Chair

6

LED Monitor

8

Desk Lamp

9

Webcam

Attraverso questi esempi, hai visto la flessibilità e la potenza dell'operatore SQL NOT EQUAL in vari scenari, dalle esclusioni semplici alle query complesse che coinvolgono aggregazioni e considerazioni sulle prestazioni.

Mentre metti in pratica questi esempi, ricorda che la scelta tra != e <> è in gran parte stilistica, ma la coerenza nel tuo uso renderà le query SQL più facili da leggere e mantenere.

Considerazioni sulle prestazioni

Sebbene l'operatore NOT EQUAL sia potente, il suo utilizzo va bilanciato con considerazioni sulle prestazioni. Le operazioni di disuguaglianza possono talvolta portare a piani di esecuzione meno efficienti, come le scansioni complete delle tabelle. Alternative come l'operatore IN o condizioni di uguaglianza indicizzate potrebbero offrire prestazioni migliori in certi scenari.

Conclusione

L'operatore NOT EQUAL è uno strumento fondamentale in SQL per il filtraggio dei dati. Comprendendone l'applicazione e valutandone le implicazioni sulle prestazioni, potrai creare query efficienti ed efficaci. Ricorda, la scelta tra <> e != dovrebbe orientarsi su <> per conformità agli standard ISO, garantendo che il tuo codice SQL sia robusto e universalmente interpretabile.

Per approfondire l'operatore SQL NOT EQUAL ed esplorare altre basi di SQL, dai un'occhiata al nostro SQL Basics Cheat Sheet e al percorso di competenze SQL Fundamentals.


Abid Ali Awan's photo
Author
Abid Ali Awan
LinkedIn
Twitter

In quanto data scientist certificato, sono appassionato di sfruttare tecnologie all’avanguardia per creare applicazioni di machine learning innovative. Con una solida esperienza in riconoscimento vocale, analisi e reportistica dei dati, MLOps, AI conversazionale e NLP, ho affinato le mie competenze nello sviluppo di sistemi intelligenti in grado di avere un impatto concreto. Oltre alla mia expertise tecnica, sono anche un comunicatore efficace, con il talento di rendere chiari e sintetici concetti complessi. Di conseguenza, sono diventato un blogger molto seguito in ambito data science, condividendo idee ed esperienze con una community in crescita di professionisti dei dati. Attualmente mi concentro sulla creazione e sull’editing di contenuti, lavorando con large language model per sviluppare contenuti potenti e coinvolgenti che possano aiutare aziende e singoli a valorizzare al meglio i propri dati.

Domande frequenti su SQL NOT IN

Cosa fa l'operatore SQL NOT EQUAL?

L'operatore SQL NOT EQUAL (<> o !=) filtra i dati escludendo le righe che corrispondono a una condizione specifica. È comunemente usato per recuperare dati che non soddisfano i criteri specificati in una query.

<> e != sono la stessa cosa in SQL?

Sì, <> e != hanno lo stesso scopo in SQL, rappresentano la disuguaglianza. Tuttavia, <> è preferibile perché allineato agli standard ISO, rendendo le query più universalmente interpretabili.

L'operatore NOT EQUAL può gestire i valori NULL?

No, l'operatore NOT EQUAL non gestisce direttamente i valori NULL. Per filtrare i NULL, devi usare la condizione IS NOT NULL, poiché NULL rappresenta un valore sconosciuto in SQL.

Come cambiano le prestazioni quando si usa NOT EQUAL nelle query SQL?

L'uso di NOT EQUAL può talvolta portare a piani di esecuzione meno efficienti, come scansioni complete delle tabelle. Per ottimizzare le prestazioni, prendi in considerazione alternative come l'operatore IN o condizioni di uguaglianza indicizzate quando appropriato.

Posso combinare l'operatore NOT EQUAL con altre condizioni SQL?

Sì, l'operatore NOT EQUAL può essere combinato con altre condizioni usando operatori logici come AND e OR, nonché con funzioni di ricerca di pattern come LIKE, per creare query più complesse e precise.

 
Argomenti
SQL

Inizia oggi il tuo percorso di apprendimento SQL!

Corso

SQL intermedio

4 ore
528.4K
Con query pratiche in ogni fase, questo corso ti insegna tutto ciò che serve per analizzare i dati con il tuo codice SQL.
Vedi i dettagliRight Arrow
Inizia Il Corso
Mostra altroRight Arrow
Correlato

blog

Che cos'è Snowflake? Guida per principianti alla piattaforma dati cloud

Esplora le basi di Snowflake, la piattaforma dati cloud. Scopri la sua architettura, le sue funzionalità e come integrarla nelle tue pipeline di dati.
Tim Lu's photo

Tim Lu

12 min

blog

Tokenizzazione nel NLP: come funziona, sfide e casi d'uso

Guida al preprocessing NLP nel machine learning. Copriamo spaCy, i transformer di Hugging Face e come funziona la tokenizzazione in casi d'uso reali.
Abid Ali Awan's photo

Abid Ali Awan

10 min

blog

I 15 migliori server MCP remoti che ogni AI builder dovrebbe conoscere nel 2026

Scopri i 15 migliori server MCP remoti che stanno trasformando lo sviluppo AI nel 2026. Scopri come migliorano automazione, ragionamento, sicurezza e velocità dei workflow.
Abid Ali Awan's photo

Abid Ali Awan

15 min

Mostra AltroMostra Altro