Logo

dev-resources.site

for different kinds of informations.

Guida SQL: istruzione Where

Published at
10/12/2023
Categories
Author
Nicola Iantomasi
Categories
1 categories in total
open
Guida SQL: istruzione Where

In SQL, filtrare i dati di una tabella è un'operazione molto importante per estrarre solo le informazioni di interesse. L'uso della parola chiave WHERE è il principale strumento per effettuare questa operazione. Cambiando le condizioni all'interno della clausola WHERE, è possibile selezionare righe specifiche della tabella in modo da ottenere solo le informazioni necessarie.

Operatori AND e OR nella Where SQL

Per poter scrivere filtri complessi a piacere nella clausola WHERE, si possono utilizzare gli operatori AND e OR per combinare più condizioni tra di loro. Ad esempio, se volessimo selezionare solo le righe in cui la colonna "età" è maggiore o uguale a 25 e la colonna "provincia" è "Roma", possiamo utilizzare l'operatore AND:

SELECT * 
FROM   tabella 
WHERE  eta >= 25 
   AND provincia = 'Roma';

Se invece avessimo voluto selezionare le righe in cui la colonna "provincia" fosse "Roma" o la colonna "provincia" fosse "Milano", avremmo utilizzato l'operatore OR:

SELECT * 
FROM   tabella 
WHERE  provincia = 'Roma' 
    OR provincia = 'Milano';

Operatore IN:

Un altro modo per filtrare più valori con una sola query è utilizzare l'operatore IN. Ad esempio, per selezionare le righe in cui la colonna "provincia" è "Roma", "Milano" o "Torino", possiamo utilizzare la seguente query, più veloce da scrivere rispetto all'OR:

SELECT *
FROM tabella
WHERE provincia IN ('Roma', 'Milano', 'Torino');

Filtro sulle date

Se vogliamo filtrare su colonne contenenti date, dobbiamo tenere conto della sintassi specifica del DBMS in uso. Ad esempio, utilizzando MySQL, per selezionare le righe in cui la colonna "data" è successiva al 2020-01-01, possiamo utilizzare la seguente query:

SELECT * 
FROM   tabella 
WHERE  data > '2020-01-01';

Valori NULL

Infine, è importante tenere conto dei NULL. Per selezionare le righe in cui la colonna "provincia" è NULL, possiamo utilizzare 'IS NULL', ad esempio:

SELECT * 
FROM   tabella 
WHERE  provincia IS NULL;

Al contrario, per selezionare le righe in cui la colonna "provincia" non è null, possiamo utilizzare 'IS NOT NULL':

SELECT * FROM tabella WHERE provincia IS NOT NULL;

Conclusioni e approfondimenti

In generale, filtrare i dati di una tabella tramite la clausola WHERE e gli altri operatori del linguaggio SQL è essenziale per estrarre solo le informazioni di interesse. Nel nostro esempio abbiamo visto come utilizzare gli operatori AND e OR, l'operatore IN, come filtrare le date e come gestire i valori NULL. Ricordate che ogni DBMS ha la sua sintassi specifica, quindi è importante consultare la documentazione ufficiale per gli esempi precisi.

In questo articolo del mio blog parlo di come utilizzare la condizione WHERE su colonne di tipo Datetime di SQL Server

Invece in questo video sul mio canale Youtube parlo di come scrivere le prima query con SQL e utilizzare l'istruzione WHERE

Featured ones: