Exemplos em SQL
SQL, ou Structured Query Language, é uma linguagem de programação usada para gerenciar e manipular dados em bancos de dados relacionais. Com SQL, você pode:
- Consultar dados: Imagine que você está fazendo uma pesquisa e precisa de informações específicas. SQL permite que você peça exatamente o que precisa, como "mostre todos os clientes que compraram um produto X".
- Atualizar dados: Se você precisar mudar alguma informação, como atualizar o endereço de um cliente, SQL faz isso de forma rápida e precisa.
- Inserir novos dados: Quando você tem novas informações para adicionar, como novos registros de vendas, SQL faz isso de forma organizada.
- Excluir dados: Se algum dado não é mais relevante, SQL pode removê-lo facilmente.
Semelhanças com o Excel
Se você já usou o Excel, deve saber que ele também lida com dados em tabelas. SQL e Excel compartilham algumas semelhanças que podem ajudar a entender como SQL funciona:
- Tabelas: No Excel, você organiza dados em tabelas. Da mesma forma, em SQL, os dados são armazenados em tabelas. Cada tabela tem linhas e colunas, e cada célula pode conter um pedaço de informação.
- Filtros e Busca: No Excel, você pode usar filtros para encontrar rapidamente as informações que deseja. Em SQL, você usa consultas para buscar e filtrar dados, como "encontrar todos os clientes que compraram mais de R$100 em produtos".
- Fórmulas e Funções: No Excel, você usa fórmulas para calcular somas, médias e outras análises. SQL também permite fazer cálculos e análises diretamente nas consultas, como somar todos os valores de uma coluna ou calcular a média das vendas.
Enquanto o Excel é uma ferramenta poderosa para análise de dados, SQL é essencial para manipulação e consulta de bancos de dados. Este guia explora como realizar funções comuns do Excel usando SQL, proporcionando uma visão sobre como essas tarefas podem ser executadas em um ambiente de banco de dados.
1. Função IF
Descrição: Em SQL, a função CASE
é usada para executar lógica condicional semelhante à função IF do Excel.
Sintaxe:
SELECT
CASE WHEN condição THEN valor_se_verdadeiro
ELSE valor_se_falso
END AS resultado
FROM tabela;
Exemplo:
SELECT nome,
CASE WHEN vendas > 10000 THEN 'Alta'
ELSE 'Baixa'
END AS categoria_vendas
FROM vendedores;
Este exemplo classifica os vendedores com base no valor das vendas.
2. Função DATEDIF
Descrição: A função DATEDIF do Excel é equivalente ao uso das funções de data em SQL para calcular a diferença entre datas.
Sintaxe:
SELECT DATEDIFF(day, data_inicial, data_final) AS diferença_dias
FROM tabela;
Exemplo:
SELECT nome,
DATEDIFF(day, data_nascimento, GETDATE()) AS idade_dias
FROM clientes;
Calcula a idade em dias de cada cliente com base na data de nascimento.
3. Funções PROCV e PROCX
Descrição:
- PROCV pode ser replicado com uma junção (JOIN) em SQL.
- PROCX é mais flexível e pode ser replicado usando junções com condições.
Sintaxe PROCV:
SELECT a.campo1, b.campo2
FROM tabela1 a
JOIN tabela2 b ON a.chave = b.chave;
Sintaxe PROCX:
SELECT a.campo1, b.campo2
FROM tabela1 a
LEFT JOIN tabela2 b ON a.chave = b.chave
WHERE b.chave IS NOT NULL;
Exemplo PROCV:
SELECT p.nome, c.categoria
FROM produtos p
JOIN categorias c ON p.categoria_id = c.id;
Este exemplo recupera o nome dos produtos e suas categorias correspondentes.
4. Funções REPLACE e SUBSTITUTE
Descrição:
- REPLACE é usado para substituir partes do texto.
- SUBSTITUTE pode ser replicado com REPLACE, mas não diretamente (se necessário, múltiplas chamadas podem ser usadas).
Sintaxe REPLACE:
SELECT
REPLACE(texto, texto_antigo, texto_novo) AS texto_modificado
FROM tabela;
Exemplo REPLACE:
SELECT
REPLACE(nome, 'velho', 'novo') AS nome_atualizado
FROM produtos;
Substitui todas as ocorrências de "velho" por "novo" no nome dos produtos.
5. Funções UPPER, LOWER e PROPER
Descrição:
- UPPER converte o texto para maiúsculas.
- LOWER converte o texto para minúsculas.
- INITCAP capitaliza a primeira letra de cada palavra.
Sintaxe UPPER/LOWER/INITCAP:
SELECT UPPER(texto) AS texto_maiusculas,
LOWER(texto) AS texto_minusculas,
INITCAP(texto) AS texto_titulo
FROM tabela;
Exemplo UPPER:
SELECT UPPER(nome) AS nome_maiusculo
FROM clientes;
Exemplo LOWER:
SELECT LOWER(nome) AS nome_minusculo
FROM clientes;
Exemplo INITCAP:
SELECT INITCAP(nome) AS nome_titulo
FROM clientes;
6. Função CONCAT
Descrição: A função CONCAT
junta vários textos em uma única coluna.
Sintaxe:
SELECT CONCAT(texto1, ' ', texto2) AS texto_combinado
FROM tabela;
Exemplo:
SELECT CONCAT(primeiro_nome, ' ', ultimo_nome) AS nome_completo
FROM funcionários;
Combina o primeiro e o último nome dos funcionários.
7. Função TRIM
Descrição: A função TRIM
remove espaços extras de um texto.
Sintaxe:
SELECT TRIM(texto) AS texto_limpo
FROM tabela;
Exemplo:
SELECT TRIM(nome) AS nome_limpo
FROM clientes;
Remove espaços extras ao redor do nome dos clientes.
8. Funções AVERAGE, COUNT, SUM, MIN e MAX
Descrição:
- AVERAGE calcula a média dos valores.
- COUNT conta o número de registros.
- SUM soma os valores.
- MIN encontra o menor valor.
- MAX encontra o maior valor.
Sintaxe:
SELECT AVG(valor) AS media_valor,
COUNT(*) AS total_registros,
SUM(valor) AS soma_valor,
MIN(valor) AS menor_valor,
MAX(valor) AS maior_valor
FROM tabela;
Exemplo AVERAGE:
SELECT AVG(salario) AS salario_medio
FROM empregados;
Exemplo COUNT:
SELECT COUNT(*) AS total_empleados
FROM empregados;
Exemplo SUM:
SELECT SUM(vendas) AS total_vendas
FROM transações;
Exemplo MIN/MAX:
SELECT MIN(salario) AS salario_minimo,
MAX(salario) AS salario_maximo
FROM empregados;
9. Tabelas Dinâmicas
Descrição: Em SQL, a funcionalidade semelhante às tabelas dinâmicas do Excel pode ser alcançada com as cláusulas GROUP BY
e funções de agregação.
Sintaxe:
SELECT coluna_agrupamento,
SUM(valor) AS total_valor,
AVG(valor) AS media_valor
FROM tabela
GROUP BY coluna_agrupamento;
Exemplo:
SELECT departamento,
SUM(salario) AS total_salario,
AVG(salario) AS salario_medio
FROM empregados
GROUP BY departamento;
Este exemplo resume os salários por departamento, similar a uma tabela dinâmica que agrupa e resume dados.