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