-- Todas as colunas SELECT * FROM livro; -- Colunas específicas SELECT titulo, ano FROM livro; -- Alias (apelido) SELECT titulo AS "Título do Livro", ano AS "Ano de Publicação" FROM livro; -- Valores únicos SELECT DISTINCT editora_id FROM livro;
-- Comparação SELECT * FROM livro WHERE ano >= 2015; -- BETWEEN (intervalo inclusivo) SELECT * FROM livro WHERE ano BETWEEN 2010 AND 2020; -- IN (lista de valores) SELECT * FROM livro WHERE editora_id IN (1, 3); -- LIKE (padrão de texto) SELECT * FROM livro WHERE titulo LIKE '%Banco%'; -- % = qualquer sequência | _ = um caractere -- IS NULL / IS NOT NULL SELECT * FROM emprestimo WHERE dt_devolucao IS NULL;
-- AND: ambas condições verdadeiras SELECT * FROM livro WHERE ano >= 2015 AND editora_id = 3; -- OR: pelo menos uma verdadeira SELECT * FROM membro WHERE nome = 'Ana' OR nome = 'Bia'; -- NOT: negação SELECT * FROM livro WHERE NOT editora_id = 1; -- Combinando (use parênteses!) SELECT * FROM livro WHERE (ano > 2010 OR editora_id = 1) AND titulo LIKE '%Data%';
-- Ordenar por ano (crescente é o padrão) SELECT titulo, ano FROM livro ORDER BY ano; -- Decrescente SELECT titulo, ano FROM livro ORDER BY ano DESC; -- Múltiplas colunas SELECT * FROM livro ORDER BY editora_id, ano DESC; -- LIMIT: primeiros N resultados SELECT * FROM livro ORDER BY ano DESC LIMIT 5; -- OFFSET: pular N resultados (paginação) SELECT * FROM livro ORDER BY titulo LIMIT 5 OFFSET 10;
SELECT UPPER(nome) FROM membro; SELECT LOWER(titulo) FROM livro; SELECT LENGTH(titulo) FROM livro; SELECT TRIM(nome) FROM autor;
-- COALESCE: primeiro valor não-nulo SELECT COALESCE(dt_devolucao, 'pendente') FROM emprestimo; -- CAST: conversão de tipo SELECT CAST(ano AS VARCHAR) FROM livro;
Usando o banco criado na Aula 8, escreva as consultas abaixo no DB Fiddle.
1. Livros publicados após 2015, ordenados por ano DESC
2. Membros cujo nome começa com 'A'
3. Empréstimos ainda não devolvidos (dt_devolucao IS NULL)
4. Os 3 livros mais recentes
5. Livros da editora 'O Reilly' OU publicados antes de 2010
Combine WHERE + ORDER BY + LIMIT para responder: "Qual o livro mais antigo da editora 3?"