Introdução ao Sql Parte XI - Operadores Lógicos
Operadores lógicos AND, OR e NOT
Introdução ao Sql Parte XI
Operadores Lógicos
(AND, OR e NOT)
Muitas vezes, apenas uma condição não é o suficiente para determinarmos o critério de busca. Sempre que isso ocorrer, podemos utilizar operadores lógicos. Veja a tabela a seguir os operadores lógicos:
|
Operador |
Significado |
Exemplo |
|
AND |
e |
Condição-1 AND condição-2 |
|
OR |
ou |
Condiçao-1 OR condição-2 |
|
NOT |
Não/negação |
NOT condição |
AND
O operador AND indica que as duas condições devem ser verdadeiras para que seja mostrada a linha. EXEMPLO:
SELECT CODIGO, NOME, ENDERECO FROM TABELA
WHERE NOME = ‘JOSE GUSTAVO’ AND CODIGO = 2;
OR
Utilizamos o operador OR quando quisermos que o resultado final seja verdadeiros sempre que uma das duas condições forem verdadeiras (ou ambas ).
SELECT NOME, PRECO, CODIGO FROM TABELA
WHERE PRECO > 8 OR CODIGO = 2;
Não há limitação no uso e na combinação de condições utilizando operadores AND e OR. Mas devemos tomar cuidado na combinação de ambos. A avaliação desse tipo de condição é, no padrão, da esquerda para a direita. É conveniente utilizar parênteses para determinar o que você quer comparar. Assim, o resultado dos dois comandos a seguir pode não ser exatamente o que você está esperando:
SELECT NOME, CODIGO, PRECO FROM TABELA
WHERE CODIGO = 2 OR CODIGO = 3 AND PRECO > 15;
Desta forma ele trará todos os registros que o preço sejam maior que 15 e trará também os registros de código 2 e 3, independente se ele tem o preço maior que 15. Por isso sugiro a você cuidado na utilização dos operados lógicos.
Not ou
É utilizado para inverter o resultado de uma expressão lógica, negando o resultado da condição. Caso a condição seja verdadeira, será retornado falso e vice-versa.
SELECT NOME, PRECO, CODIGO FROM TABELA
WHERE NOT (PRECO < 10);
Desta maneira, você esta buscando somente as linhas da tabela que tenha o preço maior que 10.
Mais uma vez, apesar de opcional, o uso de parênteses deixa mais claro o que está sendo esperado do comando. Pode-se avaliar com o NOT expressões complexas incluindo as cláusulas AND e OR.
SELECT NOME, PRECO, CODIGO FROM TABELA
WHERE NOT (CODIGO = 2 OR CODIGO = 3) AND PRECO > 12;
Neste caso acima, busco todos os nomes que o código não seja 2 e 3 e que o preço seja maior que 12. Se utilizarmos o NOT em ambas as condições, teremos:
SELECT NOME, PRECO, CODIGO FROM TABELA
WHERE NOT (CODIGO = 2 OR CODIGO = 3) AND NOT PRECO > 12;
Neste caso acima, busco todos os nomes que o código não seja 2 e 3 e que o preço não seja maior que 12
Fico por aqui, no próximo artigo, falarei de Operadores especiais, até lá!
Artigos relacionados
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Artigo