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 |
+----+----------+----------+