🔍 Comando SELECT em SQL

Como buscar e visualizar dados em uma tabela

O comando SELECT é o mais usado em SQL. Ele serve para recuperar dados de uma ou mais tabelas. É como fazer uma busca ou perguntar ao banco de dados: “Mostre-me os registros que eu quero”.

💡 Analogia do Dia:
Imagine que sua tabela é uma lista de contatos no celular.
O SELECT é como usar a barra de pesquisa para encontrar “todos os amigos que moram em São Paulo”
ou simplesmente ver toda a lista de uma vez.

📌 Sintaxe Básica

1. Mostrar todas as colunas e linhas

SELECT * FROM nome_da_tabela;
  

O asterisco * significa “todas as colunas”.

2. Mostrar apenas colunas específicas

SELECT coluna1, coluna2 FROM nome_da_tabela;
  

3. Filtrar com condições (WHERE)

SELECT nome, idade FROM alunos
WHERE idade > 18;
  
✅ Estrutura completa (mais usada):
SELECTFROMWHEREORDER BYLIMIT

🔍 Exemplo Prático

Temos a tabela produtos:

id nome preco categoria
1Notebook3500.00Eletrônicos
2Mouse50.00Eletrônicos
3Cadeira Gamer800.00Móveis

Exemplo 1: Listar todos os produtos

SELECT * FROM produtos;
  

Exemplo 2: Listar apenas nome e preço

SELECT nome, preco FROM produtos;
  

Exemplo 3: Produtos da categoria 'Eletrônicos'

SELECT nome, preco
FROM produtos
WHERE categoria = 'Eletrônicos';
  

Exemplo 4: Produtos com preço acima de R$ 500,00, ordenados por preço

SELECT nome, preco
FROM produtos
WHERE preco > 500.00
ORDER BY preco ASC;
  

Exemplo 5: Buscar textos com padrão (LIKE)

SELECT titulo, autor
FROM livros
WHERE titulo LIKE '%Príncipe%';

Retorna livros cujo título contém a palavra "Príncipe".

Exemplo 6: Listar valores únicos com DISTINCT

SELECT DISTINCT categoria FROM produtos;

Mostra cada categoria uma única vez, mesmo que haja vários produtos na mesma categoria.

Exemplo 7: 📅 Trabalhando com Datas no SELECT

Quando sua tabela tem colunas do tipo DATE ou DATETIME, você pode extrair partes específicas (ano, mês, dia) para filtrar ou agrupar.

1. Usando EXTRACT (padrão SQL)

-- Listar eventos do ano de 2024
SELECT nome, data_evento
FROM eventos
WHERE EXTRACT(YEAR FROM data_evento) = 2024;

2. Alternativa com YEAR() (MySQL, SQL Server)

-- Mesmo resultado em MySQL
SELECT nome, data_evento
FROM eventos
WHERE YEAR(data_evento) = 2024;
💡 Analogia:
Imagine que a data "2024-03-15" é um pacote com 3 presentes: ano, mês e dia.
A função EXTRACT é como abrir só a caixinha do ano para ver o que tem dentro!

Outros exemplos com EXTRACT:

EXTRACT(MONTH FROM data_pedido)  -- Retorna o mês (1 a 12)
EXTRACT(DAY FROM data_nascimento) -- Retorna o dia (1 a 31)
🧠 Outra analogia:
O SELECT é como ir a uma biblioteca e pedir:
“Mostre-me todos os livros de ficção científica, lançados depois de 2010, ordenados do mais novo para o mais antigo.”
O bibliotecário (o banco de dados) usa filtros para te entregar exatamente o que você pediu!

🎯 Operadores Comuns no WHERE

📊 Funções de Agregação (com SELECT)

Você pode usar funções para resumir dados de uma coluna numérica:

SELECT COUNT(*) FROM produtos;          -- Quantos produtos existem?
SELECT AVG(preco) FROM produtos;        -- Preço médio dos produtos
SELECT SUM(preco) FROM produtos;        -- 💰 Soma total dos preços (ex: valor do estoque)
SELECT MAX(preco) FROM produtos;        -- Produto mais caro
SELECT MIN(idade) FROM alunos;          -- Menor idade entre os alunos
💡 Exemplo com SUM():
Imagine que você tem uma tabela de vendas com coluna valor.
SELECT SUM(valor) FROM vendas; te dá o faturamento total!
É como somar todas as compras do mês em uma planilha.

🎯 Pratique Agora! – Gerador de Exercícios SQL

✍️ Digite os códigos abaixo em seu editor SQL. Os exercícios estão livres para copiar!