# Operatori SQL: gli operatori disponibili

Gli operatori SQL sono la base per le query di dati e per la gestione dei dati con SQL. Essi comprendono ad esempio **operatori di confronto, operatori logici e operatori aritmetici**. A seconda della query e del record di dati puoi combinare gli operatori fra loro ed eseguire interrogazioni semplici o complesse.

## Che cosa sono gli operatori SQL?

Gli operatori SQL sono uno o più simboli o caratteri che **eseguono una specifica azione o operazione**. Alcune delle funzioni principali degli operatori sono:

- Confronti tra dati
- Filtraggio e ordinamento di dati
- Calcoli aritmetici
- Operazioni logiche
- Confronti fra modelli
- Analisi di insiemi di dati
- Verifica di valori NULL

## Quali sono i tipi di operatori SQL?

Gli operatori SQL si differenziano in diverse tipologie a seconda di **quale azione e quale query di dati** desideri eseguire. Esistono i seguenti tipi di operatori:

- **Operatori di confronto**: eseguono confronti fra i valori selezionati. Definiscono quindi criteri specifici per filtrare, ordinare o raggruppare i dati.
- **Operatori logici**: verificano i valori logici di condizioni creando espressioni booleane che danno come risultato i valori `TRUE`, `FALSE` o `UNKNOWN`. Alcuni di questi operatori sono [SQL AND](https://www.ionos.it/digitalguide/server/configurazione/sql-and/), [SQL OR](https://www.ionos.it/digitalguide/server/configurazione/sql-like/) e [SQL NOT](https://www.ionos.it/digitalguide/server/configurazione/sql-not/).
- **Operatori aritmetici**: gli operatori aritmetici in SQL ti permettono di eseguire calcoli matematici con dati e valori numerici in SQL. Ad esempio, è possibile sommare, sottrarre o dividere i valori in colonne selezionate. Altre operazioni comprendono la moltiplicazione e i calcoli di percentuali e radici.
- **Operatori per sequenze di caratteri**: come si intuisce dal nome, servono a eseguire operazioni con sequenze di caratteri. Ad esempio, è possibile cercare termini esatti o modelli e sottosequenze di caratteri in colonne selezionate, contenenti sequenze di caratteri, ed eseguire confronti. Esempi di questi operatori sono [SQL LIKE](https://www.ionos.it/digitalguide/server/configurazione/sql-like/) e caratteri jolly di SQL, come il simbolo della percentuale e il trattino basso, da usare come segnaposti nelle ricerche di modelli.
- **Operatori insiemistici**: eseguono operazioni con insiemi di dati in record di dati selezionati e restituiscono un insieme risultato in base alle condizioni definite dall’utente. In questo modo è possibile manipolare gli insiemi di dati, creare insiemi di intersezione e differenze o generare unioni di insiemi. Alcuni di questi operatori sono [SQL UNION](https://www.ionos.it/digitalguide/server/configurazione/sql-union/) o `EXCEPT`.

A seconda del [database](https://www.ionos.it/digitalguide/hosting/tecniche-hosting/database/) e del [sistema di gestione di database](https://www.ionos.it/digitalguide/hosting/tecniche-hosting/sistema-di-gestione-di-base-di-dati-dbms/) hai a tua disposizione anche altri operatori SQL, che non abbiamo trattato in questo articolo.

Consiglio Addentrati nel mondo del linguaggio di programmazione e database [SQL](https://www.ionos.it/digitalguide/server/know-how/che-cose-sql/) e apprendi le nozioni principali con la nostra [introduzione a SQL mediante esempi](https://www.ionos.it/digitalguide/server/configurazione/introduzione-a-sql-mediante-esempi/).

## I principali operatori SQL in breve

Nelle parti seguenti ti mostriamo gli operatori SQL suddivisi nelle rispettive tipologie.

### Operatori di confronto

<table>
  <thead>
    <tr>
      <th>Operatore SQL</th>
      <th>Funzione</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>`=`</td>
      <td>Verifica l’uguaglianza fra due valori, restituisce `TRUE` o `FALSE` e filtra, aggiorna o crea valori che soddisfano il confronto</td>
    </tr>
    <tr>
      <td>`<>` oppure `!=`</td>
      <td>Verifica la disuguaglianza fra due valori, restituisce `TRUE` o `FALSE` e filtra o confronta valori di colonne o tabelle</td>
    </tr>
    <tr>
      <td>`<`</td>
      <td>Verifica condizioni di minore o uguale fra valori</td>
    </tr>
    <tr>
      <td>`>`</td>
      <td>Verifica condizioni di maggiore o uguale fra valori</td>
    </tr>
    <tr>
      <td>`<=` oppure `>=`</td>
      <td>Verifica se i valori sono minori o uguali oppure maggiori o uguali fra loro</td>
    </tr>
    <tr>
      <td>`!<` oppure `!>`</td>
      <td>Verifica se i valori non sono minori o maggiori gli uni rispetto agli altri (si tratta di uno standard ISO)</td>
    </tr>
  </tbody>
</table>

### Operatori logici

<table>
  <thead>
    <tr>
      <th>Operatore SQL</th>
      <th>Funzione</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>`AND`</td>
      <td>Entrambi i valori devono soddisfare la condizione AND</td>
    </tr>
    <tr>
      <td>`OR`</td>
      <td>Almeno un valore deve soddisfare la condizione OR</td>
    </tr>
    <tr>
      <td>`NOT`</td>
      <td>Controlla se i record di dati contengono valori che non soddisfano una condizione o che soddisfano una condizione negata</td>
    </tr>
    <tr>
      <td>`ALL`</td>
      <td>Controlla se tutti i valori selezionati soddisfano una determinata condizione</td>
    </tr>
    <tr>
      <td>`BETWEEN`</td>
      <td>Controlla i valori che devono rientrare in un dato intervallo</td>
    </tr>
    <tr>
      <td>`EXISTS`</td>
      <td>Controlla se i valori sono presenti in un altro record di dati</td>
    </tr>
    <tr>
      <td>`IN`</td>
      <td>Controlla se i valori sono presenti in una lista di elementi o valori</td>
    </tr>
    <tr>
      <td>`LIKE`</td>
      <td>Verifica che i valori corrispondano a un dato modello oppure a una precisa stringa di caratteri</td>
    </tr>
    <tr>
      <td>`SOME`</td>
      <td>Controlla se almeno un valore soddisfa una determinata condizione in una lista o colonna</td>
    </tr>
  </tbody>
</table>

### Operatori aritmetici

<table>
  <thead>
    <tr>
      <th>Operatore SQL</th>
      <th>Funzione</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>`+`</td>
      <td>Addizione</td>
    </tr>
    <tr>
      <td>`-`</td>
      <td>Sottrazione</td>
    </tr>
    <tr>
      <td>`*`</td>
      <td>Moltiplicazione</td>
    </tr>
    <tr>
      <td>`/`</td>
      <td>Divisione</td>
    </tr>
    <tr>
      <td>`%`</td>
      <td>Modulo, calcolo del resto della divisione</td>
    </tr>
  </tbody>
</table>

### Operatori per sequenze di caratteri

<table>
  <thead>
    <tr>
      <th>Operatore SQL</th>
      <th>Funzione</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>`LIKE`</td>
      <td>Controlla che i record di dati corrispondano a un modello di ricerca definito dall’utente</td>
    </tr>
    <tr>
      <td>`NOT LIKE`</td>
      <td>Esclude i record di dati che non corrispondono a un determinato modello di ricerca</td>
    </tr>
    <tr>
      <td>`%`</td>
      <td>Funge da carattere segnaposto (carattere jolly SQL) per uno o più caratteri sconosciuti e può anche racchiudere sottosequenze di caratteri se il primo e l’ultimo carattere sono sconosciuti</td>
    </tr>
    <tr>
      <td>`[…]`</td>
      <td>Definisce l’insieme di caratteri cercato tra parentesi quadre, ad esempio una lettera fra A ed F, come \[a-f\]</td>
    </tr>
    <tr>
      <td>`_`</td>
      <td>Sostituisce singoli caratteri in un modello di ricerca</td>
    </tr>
  </tbody>
</table>

### Operatori insiemistici

<table>
  <thead>
    <tr>
      <th>Operatore SQL</th>
      <th>Funzione</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>`UNION`</td>
      <td>Unisce due insiemi composti da righe univoche ed esclude gli elementi duplicati</td>
    </tr>
    <tr>
      <td>`INTERSECT`</td>
      <td>Rileva i record di dati comuni in due o più clausole `SELECT` e restituisce solo i record di dati presenti in entrambe le tabelle</td>
    </tr>
    <tr>
      <td>`EXCEPT`</td>
      <td>Rileva solo i record di dati presenti nella prima query o nella tabella a sinistra, ma non nella seconda query o nella tabella a destra</td>
    </tr>
  </tbody>
</table>

### Altri operatori

<table>
  <thead>
    <tr>
      <th>Operatore SQL</th>
      <th>Funzione</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>`NVL`, `ISNULL`, `IFNULL`</td>
      <td>Controllano i record di dati alla ricerca di valori NULL per sostituirli con valori definiti dall’utente</td>
    </tr>
    <tr>
      <td>`DISTINCT`</td>
      <td>Vale anche come operatore di elaborazione o di confronto ed è utilizzato in combinazione con `SELECT` per eliminare i record di dati duplicati</td>
    </tr>
  </tbody>
</table>

Consiglio Per realizzare progetti web e gestire i database con successo è necessaria una soluzione SQL scalabile, potente e sicura. Con l’[hosting SQL server](https://www.ionos.it/cloud/sql-server-hosting "Hosting SQL server di IONOS") di IONOS puoi trovare offerte per server e hosting personalizzate e adatte alle tue esigenze specifiche.

## Le differenze fra operatori, funzioni e clausole in SQL, in breve

Data la gran varietà di strumenti in SQL, può essere facile fare confusione fra **operatori SQL, funzioni SQL e clausole SQL**. Per fare un po’ di chiarezza, ti spieghiamo le principali differenze:

- **Operatori SQL**: di solito sono costituiti da uno o più simboli e caratteri responsabili di una specifica operazione. Uniscono valori, sequenze di caratteri o colonne per eseguire confronti o calcoli e restituire un valore come risultato. Sono elaborati prima delle funzioni e delle clausole.
- **Funzioni SQL**: sono utilizzate per eseguire azioni, operazioni e calcoli complessi, che possono essere composti da più argomenti, parametri e condizioni.
- **Clausole SQL**: definiscono condizioni e criteri specifici per le operazioni con operatori o funzioni e sono composte nella maggior parte dei casi da parole chiave come [SQL SELECT](https://www.ionos.it/digitalguide/server/configurazione/sql-select/), [SQL WHERE](https://www.ionos.it/digitalguide/server/configurazione/sql-where/), [SQL ORDER BY](https://www.ionos.it/digitalguide/server/configurazione/sql-order-by/) o [SQL GROUP BY](https://www.ionos.it/digitalguide/server/configurazione/sql-group-by/).

Ricorda inoltre che alcuni operatori e funzioni possono avere campi di applicazione sovrapponibili.


This is a markdown version of: [https://www.ionos.it/digitalguide/server/configurazione/operatori-sql/](https://www.ionos.it/digitalguide/server/configurazione/operatori-sql/) for AI/LLM consumption.