Uma breve explicação sobre WHERE no SQL

Neste artigo, iremos ver o uso da cláusula WHERE no SQL em conjunto com os operadores AND, OR, IN, NOT IN, BETWEEN e NOT BETWEEN.

Deixaremos a explicação e os exemplos do uso dos operadores LIKE e NOT LIKE para a próxima parte de nosso curso.

Where e seus Operadores no SQL

Como feito em partes anteriores, faremos nessa alguns exemplos para melhor entendimento do uso do Where com esses operadores. Como foi explicado os conceitos e mostrados exemplos do Where na parte anterior, nessa iremos direto ao uso dele com os operadores. Acompanhem os conceitos e exemplos:

Se você precisa saber mais sobre SQL veja nosso curso de SQL

WHERE com AND e OR

WHERE com AND e OR – Usamos os operadores AND e OR junto com Where quando é necessário usar mais de uma condição de comparação. Como exemplo, iremos usar a tabela de Produtos ao longo de todo este artigo, criada na parte anterior (ao final do artigo, irei disponibilizar o script dos exemplos). Vamos ao exemplo: iremos utilizar o operador AND para determinar um acréscimo de 10% nos produtos de Informática cujo valor seja igual ou inferior a 350.00. Para isso, faça a seguinte instrução (antes dê um Select * From Produtos e note o valor dos produtos Processador e Monitor):

WHERE com AND e OR
Exemplo com Tabela de Produtos

Nossa tabela ficará assim:

Exemplo de Tabela SQL
Resultado da nossa Tabela de Produtos SQL

Percebeu a diferença? As colunas Processador e Monitor sofreram um acréscimo de 10% em seu valor.

O operador OR é usado especificamente quando desejamos atender a duas condições distintas. Considerando a tabela Produto, o OR deve ser utilizado quando desejamos, por exemplo, atribuir um acréscimo de 10% sobre o valor dos produtos do tipo Eletrônicos ou sobre o valor daqueles cujo preço é maior ou igual a 350.00. Neste caso, uma das condições deve ser atendida. Para isso, precisamos executar a seguinte instrução (sempre lembrando que, como UPDATE não tem volta, fez tá feito, use o Select * From Produtos para notar a diferença antes e depois do UPDATE):

Where com OR
Exemplo de Where com OR

Que nos resultará nesta tabela:

Tabela de Where com OR
Exemplo de Tabela: Where com OR

Neste exemplo observamos que o uso do operador OR é muito mais abrangente do que o operador AND, já que podemos perceber que uma quantidade maior de linhas foi atingida após o uso do UPDATE.

Dito isto, podemos concluir que o operador AND permite realizar a avaliação de duas expressões conjuntamente, sendo que o resultado obtido apenas será verdadeiro se ambas as expressões forem verdadeiras. Ao contrário, o operador OR permite que realizemos a avaliação de duas expressões de forma separada. Assim, o resultado será verdadeiro se somente uma expressão for verdadeira ou se ambas forem verdadeiras.

WHERE com IN

WHERE com IN – Podemos usar o operador IN no lugar do operador OR em determinadas situações. O IN permite verificar se o valor de uma coluna está presente em uma lista de elementos. Considerando a tabela Produtos, podemos utilizar o IN ou o OR para selecionar os produtos do tipo Eletrônicos ou do tipo Informática. Confira a seguir como fazer esta consulta com ambos os operadores:

  • Operador OR
  • Exemplo de  Operador OR
    Exemplo de Operador OR
  • Operador IN
  • Exemplo de  Operador IN
    Exemplo de Operador IN

Ambas as consultas nos trarão o mesmo resultado:

WHERE com NOT IN

WHERE com NOT IN – Este operador, ao contrário do IN, permite obter como resultado o valor de uma coluna que não pertence a uma determinada lista de elementos, como podemos perceber pela seguinte instrução:

Exemplo de WHERE com NOT IN
Exemplo de WHERE com NOT IN

O resultado será o seguinte:

Resultado de WHERE com NOT IN
Resultado de WHERE com NOT IN

Podemos perceber acima que foram exibidos apenas os produtos que não são do tipo Eletrônicos ou Informática. Podemos usar também o operador AND em conjunto com o sinal de comparação diferente (<>) para obter o mesmo resultado, como a instrução a seguir nos mostra:

WHERE com BETWEEN

WHERE com BETWEEN – O operador BETWEEN tem a finalidade de permitir a consulta entre uma determinada faixa de valores. Dessa forma, podemos usar este operador para selecionar todos os produtos cujos valores estejam entre 300.00 e 500.00 na tabela Produtos. Para isso devemos fazer essa instrução:

Exemplo de WHERE com BETWEEN
Exemplo de WHERE com BETWEEN

Que terá como resultado essa consulta:

Resultado de WHERE com BETWEEN
Resultado de WHERE com BETWEEN

Outra forma de obter o mesmo resultado é por meio do seguinte comando:

Resultado de WHERE com BETWEEN

Por meio do operador AND e dos operadores relacionais =, < e > também é possível consultar uma determinada faixa de valores. No entanto, por meio do BETWEEN esta consulta torna-se ainda mais simples. Este operador permite checar se o valor de uma coluna encontra-se em um determinado intervalo. Ele pode ser utilizado para verificar intervalos de data, caracteres, entre outros.

WHERE com NOT BETWEEN

WHERE com NOT BETWEEN – O operador NOT BETWEEN, ao contrário do anteriormente descrito, permite consultar os valores que não se encontram em uma determinada faixa. Considerando nossa tabela, podemos consultar os produtos cujos valores não estão entre 300.00 e 500.00. Para isso, é preciso executar o comando descrito a seguir:

Exemplo de WHERE com NOT BETWEEN
Exemplo de WHERE com NOT BETWEEN

Com a execução desta instrução, o resultado obtido é o seguinte:

Resultado de WHERE com NOT BETWEEN
Resultado de WHERE com NOT BETWEEN

Outra forma de se obter o mesmo resultado é o seguinte:

Resultado de WHERE com NOT BETWEEN

Com a execução deste comando, o resultado obtido com a tabela Produtos é o mesmo apresentado com a execução do operador NOT BETWEEN.

Na próxima parte, iremos ver o uso do Where em conjunto com os operadores LIKE e NOT LIKE. Veremos também os conceitos e exemplos das cláusulas ORDER BY, TOP, e TOP WITH TIES.

Links Úteis

  • Downloads do SQL Server:
  • SQL:
    SQL, é a linguagem de pesquisa declarativa padrão para banco de dados relacional (base de dados relacional). Muitas das características originais do SQL foram inspiradas na álgebra relacional.
  • MySQL:

Saiba mais sobre Java ;)

  • Curso de Administração de Banco de Dados com SQL Server:
    ​Neste curso estudaremos os principais tópicos necessários para profissionais que utilizam o SQL Server como servidor de banco de dados no dia a dia.
  • SQL Server 2016:
    Este artigo aborda as novidades disponibilizadas na versão 2016 do SQL Server com o intuito de expor suas melhorias e seus novos recursos.
  • Trabalhando com a linguagem T-SQL:
    Este artigo apresenta o uso da linguagem T-SQL. Serão discutidos alguns recursos que podem ser usados no desenvolvimento e manipulação na consulta a dados usando a ferramenta SQL Server.