T-SQL - Cláusula WHERE

O MS SQL Server WHERE cláusula é usada para especificar uma condição ao buscar os dados de uma única tabela ou unir-se a várias tabelas.

Se a condição fornecida for satisfeita, somente então ele retornará um valor específico da tabela. Você terá que 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 é usada na instrução UPDATE, DELETE, etc., que examinaremos nos capítulos subsequentes.

Sintaxe

A seguir está a sintaxe básica da instrução SELECT com a cláusula WHERE -

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

Você pode especificar uma condição usando comparação ou operadores lógicos como>, <, =, LIKE, NOT, etc. O exemplo a seguir tornará este 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 comando a seguir é um exemplo que buscaria os campos ID, Nome e Salário da tabela CLIENTES onde o salário é maior que 2.000.

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

O comando acima produzirá a seguinte saída.

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

O comando a seguir é um exemplo, que buscaria os campos ID, Nome e Salário da tabela CLIENTES para um cliente com o nome 'Hardik'. É importante notar que todas as strings devem ser fornecidas entre aspas simples (''), enquanto os valores numéricos devem ser fornecidos sem as aspas como no exemplo acima -

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

O comando acima produzirá a seguinte saída.

ID  NAME     SALARY 
5   Hardik   8500.00