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)