SQL Descomplicado: Como Explorar Queries e Operações Comuns em Bancos de Dados
Você já se perguntou o que acontece por trás das consultas que você faz em um banco de dados?
Quando você digita uma query SQL para puxar dados de uma tabela, como um simples SELECT
, você está basicamente dizendo ao banco de dados como procurar, manipular e apresentar as informações. Mas SQL vai muito além disso — ele tem diversas ferramentas poderosas para modificar a estrutura dos dados, combinar tabelas, filtrar informações e até fazer cálculos.
Neste artigo, vamos explorar de forma prática as operações mais comuns em SQL, com exemplos que vão desde a criação de tabelas até o uso de expressões complexas, além de conceitos avançados como nested queries (consultas aninhadas). Pronto para embarcar nesse passeio pelo mundo das queries?
1. Explorando os Comandos de DDL (Data Definition Language)
Antes de começarmos a consultar dados, é importante entender os comandos que lidam com a estrutura do banco de dados. O DDL é responsável por definir e modificar a estrutura de tabelas e outros objetos dentro do banco.
Comandos principais do DDL
- CREATE – Usado para criar novos objetos, como tabelas e índices.
- Exemplo:
sql
Copiar código
CREATE TABLE Clientes (
ID INT PRIMARY KEY,
Nome VARCHAR(100),
Idade INT
);
- DROP – Remove uma tabela ou outro objeto do banco. Cuidado: o DROP apaga dados!
- Exemplo:
sql
Copiar código
DROP TABLE Clientes;
- ALTER – Modifica a estrutura de uma tabela existente. Pode adicionar, remover ou modificar colunas.
- Exemplo:
sql
Copiar código
ALTER TABLE Clientes ADD Email VARCHAR(100);
- INSERT – Insere dados em uma tabela.
- Exemplo:
sql
Copiar código
INSERT INTO Clientes (ID, Nome, Idade) VALUES (1, 'João', 30);
- UPDATE – Atualiza dados existentes em uma tabela.
- Exemplo:
sql
Copiar código
UPDATE Clientes SET Idade = 31 WHERE Nome = 'João';
- DELETE – Remove dados da tabela.
- Exemplo:
sql
Copiar código
DELETE FROM Clientes WHERE Nome = 'João';
- RENAME – Renomeia tabelas ou colunas.
- Exemplo:
sql
Copiar código
RENAME TABLE Clientes TO Clientes_2024;
- TRUNCATE – Remove todos os dados de uma tabela de forma rápida, sem registro de transações.
- Exemplo:
sql
Copiar código
TRUNCATE TABLE Clientes;
- MERGE – Combina dados de duas tabelas, permitindo inserções ou atualizações baseadas em uma condição.
- Exemplo:
sql
Copiar código
MERGE INTO Clientes AS target
USING NovosClientes AS source
ON target.ID = source.ID
WHEN MATCHED THEN
UPDATE SET target.Nome = source.Nome
WHEN NOT MATCHED THEN
INSERT (ID, Nome) VALUES (source.ID, source.Nome);
2. Explorando Operações com Expressões SQL
Agora, vamos dar um passo além e falar sobre como realizar operações matemáticas e expressões aritméticas dentro de suas queries SQL. Isso é super útil quando você quer calcular valores, manipular dados ou até gerar resultados mais complexos a partir de simples tabelas.
Expressões matemáticas e manipulação de dados
- Operações Aritméticas – Adição, subtração, multiplicação e divisão.
- Exemplo:
sql
Copiar código
SELECT Preco * Quantidade AS TotalVenda
FROM Produtos;
- Tipo de Dados – SQL lida com diferentes tipos de dados como strings, números e datas.
- Exemplo:
sql
Copiar código
SELECT CONCAT(Nome, ' ', Sobrenome) AS NomeCompleto
FROM Funcionarios;
- Armazenamento de Dados Simples e Complexos – Ao combinar colunas e operações, você pode gerar dados "complexos" a partir de simples operações.
- Exemplo:
sql
Copiar código
SELECT (Preco * Quantidade) + Impostos AS TotalComImposto
FROM Vendas;
- Alias – Você pode dar "apelidos" para as colunas, facilitando a leitura e organização do seu código.
- Exemplo:
sql
Copiar código
SELECT Nome AS Cliente, Preco AS Valor
FROM Produtos;
3. Introdução à Operação de Conjuntos com SQL
Quando você quer trabalhar com conjuntos de dados, ou seja, combinar dados de diferentes fontes (tabelas, colunas, etc.), o SQL oferece ferramentas como UNION, INTERSECT e EXCEPT.
Operações de Conjunto
- UNION – Combina os resultados de duas ou mais queries, removendo duplicatas.
- Exemplo:
sql
Copiar código
SELECT Nome FROM Clientes
UNION
SELECT Nome FROM Fornecedores;
- UNION ALL – Similar ao UNION, mas mantém duplicatas.
- Exemplo:
sql
Copiar código
SELECT Nome FROM Clientes
UNION ALL
SELECT Nome FROM Fornecedores;
- INTERSECT – Retorna os dados que aparecem em ambas as queries.
- Exemplo:
sql
Copiar código
SELECT Nome FROM Clientes
INTERSECT
SELECT Nome FROM Fornecedores;
- EXCEPT – Retorna os dados da primeira query que não aparecem na segunda.
- Exemplo:
sql
Copiar código
SELECT Nome FROM Clientes
EXCEPT
SELECT Nome FROM Fornecedores;
4. Nested Queries: Consultas Aninhadas
Agora vamos para algo um pouco mais avançado: nested queries (ou subqueries). São queries dentro de outras queries e são super úteis quando você precisa de resultados complexos baseados em condições específicas.
Como funcionam as Nested Queries
- Comparação por Atributos – Uma subquery pode ser usada para comparar valores de uma query externa.
- Exemplo:
sql
Copiar código
SELECT Nome
FROM Clientes
WHERE ID IN (SELECT ID FROM Pedidos WHERE Valor > 100);
- Keywords como ANY, SOME, ALL – Permitem fazer comparações com múltiplos valores retornados pela subquery.
- Exemplo:
sql
Copiar código
SELECT Nome
FROM Clientes
WHERE ID = ANY (SELECT ClienteID FROM Pedidos WHERE Data > '2024-01-01');
- EXISTS e NOT EXISTS – Retorna TRUE se a subquery tiver ou não resultados.
- Exemplo:
sql
Copiar código
SELECT Nome
FROM Clientes
WHERE EXISTS (SELECT 1 FROM Pedidos WHERE ClienteID = Clientes.ID);
Curiosidades e Dicas Finais
- SQL é case-insensitive, o que significa que
SELECT
eselect
são a mesma coisa. Porém, a convenção recomenda usar sempre letras maiúsculas para comandos. - Quando você trabalha com dados financeiros, operadores aritméticos podem ser muito úteis para calcular impostos, descontos e outros valores dinamicamente.
- A utilização de subqueries pode ser uma faca de dois gumes: elas são poderosas, mas podem afetar o desempenho se usadas em excesso.
Conclusão:
SQL não é só sobre buscar dados de uma tabela; é uma ferramenta poderosa que pode ser usada para manipular, filtrar e combinar dados de formas criativas e eficientes. Ao aprender sobre os comandos DDL, operações de conjuntos, expressões matemáticas e nested queries, você vai poder escrever queries muito mais avançadas e eficazes, além de ter um maior controle sobre como seus dados são apresentados e modificados.
Agora, com esse conhecimento, você está pronto para aprimorar suas habilidades em SQL e criar soluções mais inteligentes e robustas para suas necessidades de banco de dados. Aplique o que aprendeu e explore ainda mais o potencial dessa linguagem poderosa!