Aula 5: Operadores, Funções, Agrupamento e União de Dados

Aula 5: Operadores, Funções, Agrupamento e União de Dados


1. Operadores em SQL

Os operadores em SQL são utilizados para realizar operações em valores de dados e filtrar resultados em consultas.

1.1. Operadores Aritméticos

Usados para realizar operações matemáticas em valores numéricos.

OperadorDescriçãoExemplo
+AdiçãoSELECT 10 + 5;
-SubtraçãoSELECT 10 - 5;
*MultiplicaçãoSELECT 10 * 5;
/DivisãoSELECT 10 / 5;
%Resto da divisão (módulo)SELECT 10 % 3;

1.2. Operadores Relacionais

Comparações entre dois valores.

OperadorDescriçãoExemplo
=IgualdadeSELECT * FROM alunos WHERE idade = 20;
<> ou !=DiferenteSELECT * FROM alunos WHERE idade <> 20;
>Maior queSELECT * FROM produtos WHERE preco > 1000;
<Menor queSELECT * FROM produtos WHERE preco < 1000;
>=Maior ou igualSELECT * FROM alunos WHERE idade >= 18;
<=Menor ou igualSELECT * FROM alunos WHERE idade <= 18;

1.3. Operadores Lógicos

Combinam várias condições.

OperadorDescriçãoExemplo
ANDVerdadeiro se ambas as condições forem verdadeirasSELECT * FROM alunos WHERE idade > 18 AND curso = 'TI';
ORVerdadeiro se pelo menos uma das condições for verdadeiraSELECT * FROM alunos WHERE idade < 18 OR curso = 'TI';
NOTInverte o resultado da condiçãoSELECT * FROM alunos WHERE NOT idade < 18;

1.4. Operadores Auxiliares

OperadorDescriçãoExemplo
INVerifica se o valor está em uma listaSELECT * FROM alunos WHERE curso IN ('TI', 'Engenharia');
BETWEENVerifica se o valor está dentro de um intervaloSELECT * FROM produtos WHERE preco BETWEEN 1000 AND 3000;
LIKEBusca por padrãoSELECT * FROM alunos WHERE nome LIKE 'Jo%';
IS NULLVerifica se o valor é nuloSELECT * FROM alunos WHERE idade IS NULL;

2. Funções em SQL

Funções são usadas para realizar operações em dados, como cálculos matemáticos ou manipulações de strings.

2.1. Funções de Data e Hora

  • NOW(): Retorna a data e hora atual. SELECT NOW();
  • CURDATE(): Retorna a data atual. SELECT CURDATE();
  • YEAR(), MONTH(), DAY(): Extraem o ano, mês ou dia de uma data. SELECT YEAR(NOW()), MONTH(NOW()), DAY(NOW());

2.2. Funções Matemáticas

  • ABS(): Retorna o valor absoluto. SELECT ABS(-5);
  • ROUND(): Arredonda um número. SELECT ROUND(10.567, 2);
  • CEIL(): Arredonda para o número inteiro superior. SELECT CEIL(10.2);

2.3. Funções de String

  • CONCAT(): Concatena duas ou mais strings. SELECT CONCAT('Olá', ' Mundo');
  • UPPER(): Converte uma string para maiúsculas. SELECT UPPER('sql');
  • LENGTH(): Retorna o comprimento da string. SELECT LENGTH('SGBD');

2.4. Funções de Agregação

Usadas para realizar cálculos em um conjunto de valores e retornar um único valor.

FunçãoDescriçãoExemplo
COUNT()Conta o número de linhasSELECT COUNT(*) FROM alunos;
SUM()Soma os valoresSELECT SUM(preco) FROM produtos;
AVG()Calcula a médiaSELECT AVG(preco) FROM produtos;
MIN()Retorna o valor mínimoSELECT MIN(preco) FROM produtos;
MAX()Retorna o valor máximoSELECT MAX(preco) FROM produtos;

3. Agrupamento e União de Dados

3.1. GROUP BY: Agrupamento de Dados

O comando GROUP BY é utilizado para agrupar resultados que compartilham um valor comum.

Exemplo: Listar a quantidade de alunos por curso:


SELECT curso, COUNT(*)
FROM alunos
GROUP BY curso;

3.2. UNION: União de Resultados

O comando UNION é utilizado para combinar o resultado de duas ou mais consultas SQL em um único conjunto de resultados.

Exemplo: Combinar dados de duas tabelas:


SELECT nome FROM alunos
UNION
SELECT nome FROM professores;


4. Exercícios Práticos

  1. Operadores Aritméticos e Relacionais:
    • Crie uma consulta que retorne todos os produtos com preço maior que R$ 1000 e multiplique esse preço por 10% de desconto.
    SELECT nome, preco, preco * 0.9 AS preco_com_desconto FROM produtos WHERE preco > 1000;
  2. Operadores Lógicos:
    • Liste todos os alunos que têm idade maior que 18 anos e estão matriculados no curso de “TI”.
    SELECT nome, idade, curso FROM alunos WHERE idade > 18 AND curso = 'TI';
  3. Funções de Agregação:
    • Liste o preço médio dos produtos.
    SELECT AVG(preco) AS preco_medio FROM produtos;
  4. GROUP BY:
    • Liste a quantidade de alunos por curso.
    SELECT curso, COUNT(*) FROM alunos GROUP BY curso;
  5. UNION:
    • Liste todos os nomes de alunos e professores, sem repetir.
    SELECT nome FROM alunos UNION SELECT nome FROM professores;

5. Desafio

  1. Liste todos os produtos cujo preço está entre R$ 500 e R$ 2000.
  2. Agrupe os alunos por curso e mostre a idade média de cada grupo.
  3. Use uma função de string para concatenar o nome e a cidade dos alunos em uma única coluna.
  4. Crie uma consulta que faça a união de duas tabelas diferentes e liste os nomes únicos de ambas.

Aula 6: Associação de Tabelas e Subconsultas

Especialista em Tecnologias Digitais Escrevo sobre como as inovações digitais estão revolucionando e facilitando a vida das pessoas, transformando o cotidiano e abrindo novas possibilidades.

Publicar comentário