Olá pessoal, voltamos com nosso curso básico de SQL Server.

Neste artigo, veremos o uso da cláusula WHERE em conjunto com os operadores LIKE e NOT LIKE. Acompanhem:

WHERE com LIKE – O operador LIKE é empregado nas situações em que usamos como base para realizar pesquisas (ou filtros) as colunas que estão no formato caractere, como as colunas NOMEPRODUTO e TIPOPRODUTO, de nossa tabela de Produtos. Por exemplo, podemos usar esse operador para obter como resultado todos os produtos cuja primeira letra seja C. Para que isso aconteça, devemos executar a seguinte instrução:


Que nos resultará nisso:


Como desejamos determinar apenas a letra inicial da palavra a fim de obter o resultado, devemos utilizar o caractere % para representar que quaisquer outros  caracteres podem estar contidos na palavra, desde que ela se inicie com a letra C. Sendo assim, o % representa um caractere coringa.

Vale destacar que não é apenas o primeiro caractere que pode ser determinado para uma consulta. Veja o comando descrito a seguir, no qual desejamos obter como resultado todos os nomes de produtos cujo caractere inicial seja C e que contenha o caractere D em qualquer posição na palavra:


O resultado será esse:


Também podemos obter como resultado as palavras que contenham um determinado caractere em qualquer posição. O comando descrito a seguir retornará como resultado todos os produtos contenham o caractere C em qualquer posição. Veja:


O resultado será o seguinte:


Além destes tipos de consulta descritos, o operador LIKE também permite consultar nomes de produtos que contenham uma determinada sílaba. Por exemplo, para realizar uma consulta obtendo como resultado os nomes dos produtos que contenham a sílaba ‘or’, basta executarem a seguinte instrução:


Com essa instrução, teremos os seguintes resultados:


Podemos restringir ainda mais esta consulta determinando não apenas uma sílaba que deve estar presente nos nomes dos produtos, mas também outra que deve estar presente no tipo de produto. Vejamos o comando descrito a seguir, no qual desejamos obter como resultado da consulta os produtos cujos nomes possuam a sílaba ‘or’ e os tipos que possuam a sílaba ‘ti’:


O resultado obtido será este:


Com isso, podemos concluir que o operador LIKE em conjunto da cláusula WHERE é muito útil quando queremos realizar filtros diversos em consultas.

WHERE com NOT LIKE – Os operadores NOT LIKE são usados de forma oposta ao operador LIKE. Com eles obtemos o resultado de uma consulta os nomes e tipos de produtos que não possuem tais caracteres ou sílabas determinadas neste filtro. Para ficar clara a diferença entre os operadores, usaremos os mesmos exemplos que usamos acima, mais agora a fim de explicar a finalidade dos operadores NOT LIKE. Veja:


O resultado será esse:


Assim como o operador LIKE, o NOT LIKE também permite que mais de um caractere seja usado para uma consulta. Veja o comando descrito a seguir, no qual desejamos obter como resultado todos os nomes de produtos cujo caractere inicial não seja C e que não contenha o caractere D em qualquer outra posição da palavra:


O resultado será esse:


Também podemos obter como resultado as palavras que não contenham um determinado caractere em qualquer posição. O comando descrito a seguir retornará como resultado todos os produtos cujos nomes não contenham o caractere E em qualquer posição. Veja:


O resultado será esse:


Como feito anteriormente, com o operador NOT LIKE podemos restringir ainda mais nossa consulta, determinando uma sílaba que não deve estar presente no nome dos produtos e também uma sílaba que não deve estar presente no tipo do produto. O comando a seguir nos permite obter como resultado os produtos cujos nomes não possuem a sílaba ‘or’ e os tipos que não possuem a sílaba ‘ti’:


O resultado será esse:


Assim terminamos nossos exemplos com o uso dos operadores LIKE e NOT LIKE. Fica a dica para que treinem outros exemplos com o uso destes operadores em conjunto com a cláusula WHERE.

Nos próximos artigos disponibilizarei o script completo para download.

No próximo artigo veremos a 1ª parte dos exemplos com a cláusula Order By. Aguardem!

Até o próximo artigo!