✅ Explicação

A cláusula WHERE é usada para filtrar registros nas instruções SQL. Ou seja, ela limita os resultados de um SELECT, UPDATE ou DELETE com base em condições específicas.

Se você não usar WHERE, o comando vai afetar todas as linhas da tabela — o que é perigoso em UPDATE e DELETE. Portanto, o WHERE é essencial para garantir precisão e segurança nas consultas.

🧰 Usos mais comuns

  • Filtrar registros com SELECT

  • Atualizar linhas específicas com UPDATE

  • Apagar linhas específicas com DELETE

  • Combinar com operadores lógicos (AND, OR, NOT)

  • Usar com condições (IN, LIKE, BETWEEN, IS NULL, etc.)

📌 Sintaxe

SELECT colunas
  FROM nome_tabela
 WHERE condição;

UPDATE nome_tabela
   SET coluna = valor
 WHERE condição;

DELETE FROM nome_tabela
 WHERE condição;

🧪 Exemplos práticos

Selecionar empregados com salário acima de 5000:
SELECT NOME, CARGO, SALARIO
  FROM EMPREGADOS
 WHERE SALARIO > 5000;
Atualizar o cargo de um funcionário específico:
UPDATE EMPREGADOS
   SET CARGO = 'SENIOR ANALISTA'
 WHERE ID = 1001;
Deletar registros de funcionários demitidos:
DELETE FROM EMPREGADOS
 WHERE STATUS = 'DEMITIDO';

🧮 Operadores suportados

Operador Significado
= Igual
<> ou != Diferente
> Maior que
< Menor que
>= Maior ou igual
<= Menor ou igual
BETWEEN a AND b Entre a e b (inclusive)
IN (...) Está em uma lista de valores
LIKE 'A%' Compara por padrão (coringa %)
IS NULL Valor é nulo
IS NOT NULL Valor não é nulo

🔗 Operadores lógicos

Você pode combinar várias condições com:

  • AND: todas as condições devem ser verdadeiras

  • OR: pelo menos uma condição deve ser verdadeira

  • NOT: inverte o resultado da condição

Exemplo:

SELECT NOME
  FROM EMPREGADOS
 WHERE CARGO = 'ANALISTA'
   AND SALARIO > 4000;

📏 Regras

  • Use WHERE antes de ORDER BY, GROUP BY, etc.

  • Os campos usados na condição precisam estar no escopo da consulta.

  • Pode usar variáveis COBOL em :host-variável em SQL embutido.

  • Cuidado com IS NULL — comparação com NULL nunca é com =, sempre com IS.

💡 Dicas

  • Sempre use WHERE com UPDATE e DELETE, a menos que você queira alterar ou apagar tudo.

  • Para valores parciais em textos, use LIKE '%parte%'.

  • Use IN quando precisar checar vários valores ao mesmo tempo.

  • BETWEEN é inclusivo: inclui os limites inferior e superior.

  • Combine condições com parênteses quando usar AND e OR misturados.

 

✅ Conclusão

O WHERE é o que separa o programador cuidadoso do aventureiro. Ele é o coração das decisões dentro do SQL, garantindo que suas operações sejam certeiras. Aprender a usar bem os operadores e as combinações lógicas faz toda a diferença — principalmente quando você estiver lidando com milhões de registros num mainframe DB2.