# SQL WHERE: filtrare i dati con condizioni di ricerca chiare

La clausola SQL `WHERE` ti consente di **limitare la tua interrogazione ai risultati rilevanti con condizioni di ricerca chiare**. È uno degli strumenti più importanti in SQL per eseguire ricerche nel modo più efficiente e mirato possibile. Nella clausola `WHERE` colleghi i record interessati, come i nomi delle colonne, ad altri parametri, operatori e condizioni.

## Cos’è SQL `WHERE`?

Partendo dalle interrogazioni e dalle analisi di dati fino ad arrivare a calcoli complessi con record di grandi dimensioni, SQL offre svariate funzioni di filtro con cui puoi eseguire interrogazioni precise per individuare i dati che ti servono. Uno degli strumenti di filtro più importanti è la clausola SQL `WHERE`, che ti consente di **definire condizioni e criteri concreti** per interrogare, unire, modificare o aggiornare i dati. Così riduci il volume di record con cui lavorare, ottimizzi l’efficienza delle analisi dei dati e risparmi tempo e denaro.

Altri vantaggi della clausola `WHERE` sono che può essere combinata con la maggior parte dei [comandi SQL](https://www.ionos.it/digitalguide/server/configurazione/comandi-sql/), [operatori SQL](https://www.ionos.it/digitalguide/server/configurazione/operatori-sql/) e funzioni SQL e che offre ampie possibilità d’impiego nei [sistemi di gestione dei database](https://www.ionos.it/digitalguide/hosting/tecniche-hosting/sistema-di-gestione-di-base-di-dati-dbms/). Consente di ottimizzare il lavoro e di eseguire la manutenzione dei [database](https://www.ionos.it/digitalguide/hosting/tecniche-hosting/database/), riduce i possibili errori delle interrogazioni di dati e aumenta la precisione dei record nelle tabelle dei risultati.

Consiglio Iniziare a usare il linguaggio di database e di programmazione [SQL](https://www.ionos.it/digitalguide/server/know-how/che-cose-sql/) non richiede molto tempo e impegno. Con la nostra [introduzione a SQL mediante esempi](https://www.ionos.it/digitalguide/server/configurazione/introduzione-a-sql-mediante-esempi/) potrai farlo più velocemente.

## La sintassi di SQL `WHERE`

La semplice sintassi di `WHERE` si presenta come segue:

```sql
SELECT  ColonnaA, ColonnaB, … oppure *
FROM  Tabella1
WHERE  Nome_condizione =  ´Condizione´
```

Si usano i parametri seguenti:

- `SELECT`: con [SQL SELECT](https://www.ionos.it/digitalguide/server/configurazione/sql-select/) definisci le colonne del record a cui applicare la clausola `WHERE`. Con l’asterisco (`*`) puoi anche selezionare tutti i record di una tabella
- `FROM`: definisce la tabella che contiene i record interessati.
- `WHERE`: definisce l’oggetto della condizione, come la colonna selezionata o la condizione da soddisfare; spesso si usano operatori come `=`, `<`, `>` o `!=` (non uguale a).

## Le applicazioni di `WHERE`

Al pari di `SELECT` o `FROM`, `WHERE` è uno degli elementi più importanti e più utilizzati in SQL. La clausola è **combinabile con altre istruzioni, operatori e funzioni** in modo molto versatile ed è essenziale per filtrare i record. Tra le più importanti possibilità di applicazione di SQL `WHERE` troviamo:

- Filtrare e circoscrivere i record in base a criteri definiti dall’utente
- Ordinare i record in gruppi o categorie
- Sommare, confrontare o ignorare valori
- Identificare tendenze e modelli in base ad analisi del periodo o della quantità

Consiglio Prestazioni scalabili, sistemi di database moderni come MySQL, MariaDB o MSSQL e sicurezza dei dati secondo standard europei: questo è tutto quello che ti offre l’[hosting SQL server](https://www.ionos.it/cloud/sql-server-hosting "Hosting SQL Server di IONOS") di IONOS. Scopri subito le nostre proposte di server e hosting su misura.

## Esempi pratici di SQL `WHERE`

Per spiegarti il funzionamento della clausola SQL `WHERE` ricorriamo a due esempi pratici:

### Richiamare solo i clienti di una regione

Da una tabella “Clienti” con una colonna “Nazione” vogliamo richiamare tutti i clienti italiani:

```sql
SELECT  *
FROM  Clienti
WHERE  Nazione  =  ´Italia´
```

### Richiamare solo gli ordini con un valore minimo

In una tabella “Ordini” con una colonna “Prezzo” vogliamo visualizzare solo gli ordini superiori a 50 euro. Procediamo come indicato di seguito:

```sql
SELECT  *
FROM  Ordini
WHERE  Prezzo  >  50;
```

## Alternative a SQL `WHERE`

In aggiunta o in sostituzione a SQL `WHERE`, SQL offre **altre clausole, istruzioni e parole chiave** per filtrare i dati in base a determinate condizioni, tra cui:

- `HAVING`: con la clausola [SQL HAVING](https://www.ionos.it/digitalguide/server/configurazione/sql-having/) puoi filtrare i record in base a un’aggregazione e a criteri di ricerca predefiniti. La differenza è che la clausola `WHERE` viene usata per filtrare i dati già prima di una possibile aggregazione, mentre `HAVING` serve per calcolare una quantità totale quando servono solo i risultati inferiori o superiori a un determinato valore.
- `CASE`: [SQL CASE](https://www.ionos.it/digitalguide/server/configurazione/sql-case/) si usa per filtrare e confrontare i record secondo il principio “If-Then-Else”. Puoi usarla con o senza la clausola `WHERE`. Siccome un’istruzione `CASE` ti consente di utilizzare più condizioni contemporaneamente e in modo annidato, mette a tua disposizione ancora più possibilità di filtro di `WHERE`. Invece `WHERE` ti offre possibilità di filtro più semplici e chiare.


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