OPERADORES LÓGICOS
Os operadores lógicos no SQL são ferramentas essenciais para a construção de consultas mais complexas e precisas, permitindo a manipulação e o filtro de dados de acordo com condições específicas.
Código
SELECT com AND
SELECT descricao FROM tb_produto WHERE id=4 AND valor>1000;
Esta consulta seleciona a descrição de produtos cujo ID é igual a 4 e cujo valor é maior que 1000, combinando duas condições com o operador lógico AND
.
- Resultado
SELECT sem condições específicas
SELECT descricao, qtdmin, id FROM tb_produto;
Esta consulta retorna a descrição, quantidade mínima e ID de todos os produtos, sem aplicar qualquer filtro.
- Resultado
SELECT com OR
SELECT descricao, valor FROM tb_produto WHERE valor<1000 OR valor=1200;
Seleciona a descrição e o valor de produtos cujo valor é menor que 1000 ou igual a 1200, usando o operador lógico OR
para aplicar um filtro composto.
- Resultado
SELECT com NOT
SELECT descricao FROM tb_produto WHERE NOT(valor>2000 AND id=3);
Seleciona a descrição de produtos que não têm valor maior que 2000 e ID igual a 3, utilizando o operador NOT
para inverter a condição especificada.
- Resultado
Ordenando resultados ASC
SELECT descricao FROM tb_produto ORDER BY descricao ASC;
Ordena os produtos pela descrição em ordem ascendente.
- Resultado
Ordenando resultados DESC
SELECT descricao FROM tb_produto ORDER BY descricao DESC;
Ordena os produtos pela descrição em ordem descendente.
- Resultado
SELECT com ORDER BY
SELECT descricao FROM tb_produto WHERE valor >= 1000 ORDER BY descricao;
Seleciona e ordena a descrição de produtos com valor igual ou superior a 1000, sem especificar a direção da ordenação (padrão ASC).
- Resultado
Funções de agregação
-
AVG
SELECT AVG(valor) FROM tb_produto;
Calcula a média dos valores dos produtos.
-
Resultado
-
COUNT
SELECT COUNT(*) FROM tb_produto;
Conta o total de produtos.
-
Resultado
-
COUNT com GROUP BY e HAVING
SELECT COUNT(*) FROM tb_produto GROUP BY id_categoria HAVING AVG(valor)>=50;
Conta os produtos agrupados por categoria, apenas onde a média do valor é maior ou igual a 50.
-
Resultado
-
SUM
SELECT sum(valor) FROM tb_produto;
Soma o valor de todos os produtos.
-
Resultado
Transformação de texto
-
UPPER
SELECT UPPER(descricao) FROM tb_produto;
Transforma a descrição de todos os produtos em letras maiúsculas.
-
Resultado
-
LOWER
SELECT LOWER(descricao) FROM tb_produto;
Transforma a descrição de todos os produtos em letras minúsculas.
-
Resultado
-
SUBSTR
SELECT substr(descricao,2,length(descricao)) FROM tb_produto;
Extrai parte da descrição de cada produto, começando do segundo caractere até o final.
-
Resultado
-
RPAD
SELECT RPAD(descricao, length(descricao)+6, "$") FROM tb_produto;
Adiciona o símbolo
$
à direita da descrição de cada produto, até atingir o comprimento especificado. -
Resultado
-
LPAD
SELECT LPAD(descricao, 9, "$") FROM tb_produto;
Adiciona o símbolo
$
à esquerda da descrição de cada produto, até atingir o comprimento especificado. -
Resultado
Valores máximos e mínimos
-
MAX
SELECT MAX(valor) FROM tb_produto;
Seleciona o maior valor dentre todos os produtos.
-
Resultado
-
MIN
SELECT MIN(valor) FROM tb_produto;
Seleciona o menor valor dentre todos os produtos.
-
Resultado
Conclusão
O uso de operadores lógicos e funções de agregação no SQL possibilita consultas detalhadas e específicas, permitindo aos desenvolvedores manipular e analisar dados de formas complexas e eficientes.