Saltar para o conteúdo

Where (SQL)

Origem: Wikipédia, a enciclopédia livre.
Navegação no histórico de edições: ← ver edição anterior (dif) ver edição seguinte → (dif) ver última edição → (dif)

Uma cláusula WHERE no SQL especifica que uma instrução da linguagem de manipulação de dados (Data Manipulation Language - DML) SQL deve afetar apenas as linhas que atendem aos critérios especificados. Os critérios são expressos na forma de predicados. Cláusulas WHERE não são cláusulas obrigatórias de instruções DML SQL, mas podem ser usadas para limitar o número de linhas afetadas por uma instrução ou retornadas por uma consulta. Em resumo, a cláusula SQL WHERE é usada para extrair apenas aqueles resultados de uma instrução SQL, como: SELECT, INSERT, UPDATE ou DELETE.[1]

Visão geral

WHERE é uma palavra reservada do SQL.

A cláusula WHERE é usada em conjunto com as instruções DML SQL e assume o seguinte formato geral:

Instrução-DML-SQL
FROM nome_da_tabela 
WHERE predicado

Todas as linhas para as quais o predicado na cláusula WHERE for verdadeiro (True) são afetadas (ou retornadas) pela instrução ou consulta DML SQL. As linhas para as quais o predicado é avaliado como falso (False) ou desconhecido (NULL) não são afetadas pela instrução ou consulta DML.

A consulta a seguir retorna apenas as linhas da tabela minha_tabela, nas quais o valor na coluna minhacol é maior que 100:

SELECT *
FROM   minha_tabela
WHERE  minhacol > 100

A seguinte instrução DELETE remove apenas as linhas da tabela minha_tabela em que a coluna minhacol é NULL ou possui um valor igual a 100.

DELETE
FROM   minha_tabela
WHERE  minhacol IS NULL OR minhacol = 100

Referências