SQL - clausola WHERE

L'SQL WHEREviene utilizzata per specificare una condizione durante il recupero dei dati da una singola tabella o unendo più tabelle. Se la condizione data è soddisfatta, restituisce solo un valore specifico dalla tabella. È necessario utilizzare la clausola WHERE per filtrare i record e recuperare solo i record necessari.

La clausola WHERE non viene utilizzata solo nell'istruzione SELECT, ma è anche utilizzata nell'istruzione UPDATE, DELETE, ecc., Che esamineremo nei capitoli successivi.

Sintassi

La sintassi di base dell'istruzione SELECT con la clausola WHERE è illustrata di seguito.

SELECT column1, column2, columnN 
FROM table_name
WHERE [condition]

È possibile specificare una condizione utilizzando il confronto o gli operatori logici come>, <, =,LIKE, NOT, ecc. I seguenti esempi renderebbero chiaro questo concetto.

Esempio

Considera la tabella CLIENTI con i seguenti record:

+----+----------+-----+-----------+----------+
| ID | NAME     | AGE | ADDRESS   | SALARY   |
+----+----------+-----+-----------+----------+
|  1 | Ramesh   |  32 | Ahmedabad |  2000.00 |
|  2 | Khilan   |  25 | Delhi     |  1500.00 |
|  3 | kaushik  |  23 | Kota      |  2000.00 |
|  4 | Chaitali |  25 | Mumbai    |  6500.00 |
|  5 | Hardik   |  27 | Bhopal    |  8500.00 |
|  6 | Komal    |  22 | MP        |  4500.00 |
|  7 | Muffy    |  24 | Indore    | 10000.00 |
+----+----------+-----+-----------+----------+

Il codice seguente è un esempio che recupera i campi ID, Nome e Stipendio dalla tabella CUSTOMERS, dove lo stipendio è maggiore di 2000 -

SQL> SELECT ID, NAME, SALARY 
FROM CUSTOMERS
WHERE SALARY > 2000;

Ciò produrrebbe il seguente risultato:

+----+----------+----------+
| ID | NAME     | SALARY   |
+----+----------+----------+
|  4 | Chaitali |  6500.00 |
|  5 | Hardik   |  8500.00 |
|  6 | Komal    |  4500.00 |
|  7 | Muffy    | 10000.00 |
+----+----------+----------+

La seguente query è un esempio, che recupera i campi ID, Nome e Salario dalla tabella CUSTOMERS per un cliente con il nome Hardik.

Qui, è importante notare che tutte le stringhe dovrebbero essere fornite tra virgolette singole (''). Considerando che, i valori numerici dovrebbero essere forniti senza virgolette come nell'esempio sopra.

SQL> SELECT ID, NAME, SALARY 
FROM CUSTOMERS
WHERE NAME = 'Hardik';

Ciò produrrebbe il seguente risultato:

+----+----------+----------+
| ID | NAME     | SALARY   |
+----+----------+----------+
|  5 | Hardik   |  8500.00 |
+----+----------+----------+