SQL - Cláusula WHERE
O SQL WHEREcláusula é usada para especificar uma condição ao buscar os dados de uma única tabela ou juntando-se a várias tabelas. Se a condição fornecida for satisfeita, apenas ele retornará um valor específico da tabela. Você deve usar a cláusula WHERE para filtrar os registros e buscar apenas os registros necessários.
A cláusula WHERE não é usada apenas na instrução SELECT, mas também na instrução UPDATE, DELETE, etc., que examinaremos nos capítulos subsequentes.
Sintaxe
A sintaxe básica da instrução SELECT com a cláusula WHERE é mostrada a seguir.
SELECT column1, column2, columnN
FROM table_name
WHERE [condition]
Você pode especificar uma condição usando a comparação ou operadores lógicos como>, <, =,LIKE, NOT, etc. Os exemplos a seguir tornariam esse conceito claro.
Exemplo
Considere a tabela CLIENTES com os seguintes registros -
+----+----------+-----+-----------+----------+
| 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 |
+----+----------+-----+-----------+----------+
O código a seguir é um exemplo que buscaria os campos ID, Nome e Salário da tabela CLIENTES, onde o salário é maior que 2.000 -
SQL> SELECT ID, NAME, SALARY
FROM CUSTOMERS
WHERE SALARY > 2000;
Isso produziria o seguinte resultado -
+----+----------+----------+
| ID | NAME | SALARY |
+----+----------+----------+
| 4 | Chaitali | 6500.00 |
| 5 | Hardik | 8500.00 |
| 6 | Komal | 4500.00 |
| 7 | Muffy | 10000.00 |
+----+----------+----------+
A consulta a seguir é um exemplo, que buscaria os campos ID, Nome e Salário da tabela CLIENTES para um cliente com o nome Hardik.
Aqui, é importante observar que todas as strings devem ser fornecidas entre aspas simples (''). Considerando que, os valores numéricos devem ser fornecidos sem qualquer aspas, como no exemplo acima.SQL> SELECT ID, NAME, SALARY
FROM CUSTOMERS
WHERE NAME = 'Hardik';
Isso produziria o seguinte resultado -
+----+----------+----------+
| ID | NAME | SALARY |
+----+----------+----------+
| 5 | Hardik | 8500.00 |
+----+----------+----------+