Where (SQL)
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