Aqui está a lista de 12 exemplos SQL, com explicações mais detalhadas diretamente no código como comentários.
1. Selecionar dados básicos
-- Seleciona todas as colunas e registros da tabela
SELECT *
FROM tabela;
-- Seleciona apenas as colunas "coluna1" e "coluna2" de todos os registros
SELECT coluna1, coluna2
FROM tabela;
Explicação:
-
SELECT *
traz todas as colunas, mas pode ser ineficiente em tabelas grandes. - Especificar colunas é uma boa prática para reduzir o tamanho da consulta e torná-la mais legível.
2. Filtrar registros com WHERE
-- Filtra registros onde a "coluna" tem o valor exato 'valor'
SELECT *
FROM tabela
WHERE coluna = 'valor';
-- Usa operadores lógicos para combinar condições
SELECT *
FROM tabela
WHERE coluna1 > 10 AND coluna2 = 'Ativo';
-- Verifica se o valor está em uma lista específica
SELECT *
FROM tabela
WHERE coluna IN ('valor1', 'valor2', 'valor3');
-- Filtra registros dentro de um intervalo de valores
SELECT *
FROM tabela
WHERE coluna BETWEEN 10 AND 20;
-- Busca padrões usando LIKE
SELECT *
FROM tabela
WHERE coluna LIKE '%palavra%'; -- "%palavra%" significa que pode ter algo antes ou depois de "palavra"
Explicação:
-
WHERE
restringe os resultados da consulta. -
LIKE
é útil para buscas parciais, como encontrar palavras em um texto.
3. Ordenar resultados com ORDER BY
-- Ordena os registros pela "coluna1" de forma ascendente (padrão)
SELECT *
FROM tabela
ORDER BY coluna1;
-- Ordena pela "coluna1" de forma descendente
SELECT *
FROM tabela
ORDER BY coluna1 DESC;
Explicação:
-
ORDER BY
organiza os resultados, útil para relatórios ou quando a ordem importa. - Combine com
LIMIT
para exibir os primeiros registros organizados.
4. Limitar resultados com LIMIT
-- Retorna no máximo 10 registros
SELECT *
FROM tabela
LIMIT 10;
Explicação:
- Limitar os resultados é especialmente útil para visualizar apenas uma parte dos dados durante a análise.
5. Usar funções de agregação
-- Conta o número total de registros na tabela
SELECT COUNT(*) AS total
FROM tabela;
-- Calcula soma, média, menor e maior valor de uma coluna
SELECT SUM(coluna) AS soma,
AVG(coluna) AS media,
MIN(coluna) AS minimo,
MAX(coluna) AS maximo
FROM tabela;
-- Agrupa por uma coluna e conta os registros em cada grupo
SELECT coluna, COUNT(*) AS total
FROM tabela
GROUP BY coluna;
Explicação:
- Funções como
COUNT
,SUM
,AVG
,MIN
eMAX
resumem os dados. - Use
GROUP BY
para aplicar funções de agregação em grupos específicos.
6. Trabalhar com JOINs
-- INNER JOIN: retorna registros que têm correspondência em ambas as tabelas
SELECT a.coluna1, b.coluna2
FROM tabela1 a
INNER JOIN tabela2 b ON a.chave = b.chave;
-- LEFT JOIN: retorna tudo da tabela1 e as correspondências da tabela2 (se existirem)
SELECT a.coluna1, b.coluna2
FROM tabela1 a
LEFT JOIN tabela2 b ON a.chave = b.chave;
-- RIGHT JOIN: retorna tudo da tabela2 e as correspondências da tabela1 (se existirem)
SELECT a.coluna1, b.coluna2
FROM tabela1 a
RIGHT JOIN tabela2 b ON a.chave = b.chave;
-- FULL JOIN: retorna tudo de ambas as tabelas, com ou sem correspondências
SELECT a.coluna1, b.coluna2
FROM tabela1 a
FULL JOIN tabela2 b ON a.chave = b.chave;
Explicação:
-
JOINs
conectam dados de diferentes tabelas. - Escolha o tipo de
JOIN
com base em quais dados você precisa incluir.
7. Trabalhar com subconsultas
-- Subconsulta no WHERE para buscar valores específicos de outra tabela
SELECT *
FROM tabela
WHERE coluna IN (
SELECT coluna
FROM outra_tabela
WHERE condicao
);
-- Subconsulta em FROM para criar uma tabela temporária
SELECT sub.coluna, COUNT(*)
FROM (
SELECT coluna
FROM tabela
WHERE condicao
) AS sub
GROUP BY sub.coluna;
Explicação:
- Subconsultas tornam as consultas mais flexíveis e poderosas, mas podem ser mais lentas.
8. Criar colunas calculadas
-- Adiciona uma coluna calculada multiplicando "coluna2" por 2
SELECT coluna, coluna2 * 2 AS calculo
FROM tabela;
-- Cria categorias com base em condições usando CASE
SELECT coluna,
CASE
WHEN coluna2 > 10 THEN 'Alto'
ELSE 'Baixo'
END AS categoria
FROM tabela;
Explicação:
- Colunas calculadas permitem manipular dados diretamente na consulta.
9. Excluir duplicatas com DISTINCT
-- Seleciona apenas valores únicos de uma coluna
SELECT DISTINCT coluna
FROM tabela;
Explicação:
-
DISTINCT
é usado para eliminar duplicatas e exibir apenas valores únicos.
10. Atualizar e excluir dados
-- Atualiza o valor de uma coluna para registros que atendem a uma condição
UPDATE tabela
SET coluna = 'novo_valor'
WHERE coluna2 = 'condicao';
-- Remove registros que atendem a uma condição
DELETE FROM tabela
WHERE coluna = 'condicao';
Explicação:
-
Cuidado: Sempre use
WHERE
para evitar alterar ou excluir toda a tabela.
11. Criar e manipular tabelas
-- Cria uma nova tabela com colunas e tipos de dados definidos
CREATE TABLE nova_tabela (
coluna1 INT,
coluna2 VARCHAR(50),
coluna3 DATE
);
-- Insere um registro na tabela
INSERT INTO tabela (coluna1, coluna2)
VALUES (1, 'valor');
-- Adiciona uma nova coluna a uma tabela existente
ALTER TABLE tabela
ADD nova_coluna INT;
-- Remove a tabela inteira
DROP TABLE tabela;
Explicação:
- Manipular tabelas é fundamental para criar e organizar seus bancos de dados.
12. Consultas avançadas
-- Funções de janela para calcular somas em grupos
SELECT coluna,
SUM(coluna2) OVER (PARTITION BY coluna3) AS soma
FROM tabela;
-- Filtra registros após o agrupamento usando HAVING
SELECT coluna, COUNT(*) AS total
FROM tabela
GROUP BY coluna
HAVING COUNT(*) > 5;
-- Usar CTE (Common Table Expression) para simplificar consultas
WITH cte AS (
SELECT coluna, COUNT(*) AS total
FROM tabela
GROUP BY coluna
)
SELECT *
FROM cte
WHERE total > 10;
Explicação:
- Funções de janela permitem cálculos avançados sem perder o detalhe dos dados.
-
HAVING
é usado para filtrar dados agregados. - CTEs melhoram a legibilidade e organizam consultas complexas.
Esses exemplos são uma base sólida para aprender SQL e aplicar em cenários reais.
Top comments (0)