sábado, 5 de janeiro de 2013

Lista de exercício SQL

Passos para a utilização do SQLite:
a) realizar o download dos arquivos abaixo listados (sqlite3.exe e biblio.db)

b) no ambiente command prompt (menu iniciar -> executar/run -> cmd.exe), acessar a pasta que contém ambos arquivos acima mencionados e executar o comando "sqlite3 biblio.db"

c) já na interface do sqlite3 (o command prompt deixa de exibir o caminho da pasta em uso e exibe a linha "sqlite>") utilizar os comandos ".mode column" (exibe os resultados em forma de colunas) e ".headers on" (exibe cabeçalhos nos resultados).

1 Listar os livros disponíveis, indicando Titulo, editora, preço e isbn
select titulo, editora.nome as editora, valor, isbn from livro, editora, compra, publicado where livro.idl=compra.idl and publicado.idl=livro.idl and editora.ide=publicado.ide;

2 Listar as línguas das obras disponíveis, indicando o número de obras associadas a cada uma das línguas existentes
select titulo, lingua from livro;

3 Contar o número de livros existentes
select count (idl) as livros from livro;

4 Contar o número de livros existentes por ano de compra
5 Listar as editoras existentes, indicando o número de livros por cada editora
select editora.nome as editora, count (idl) from editora, publicado where publicado.ide=editora.ide group by editora;

6 Contar o número de diferentes autores, existentes na base de dados
select distinct count (autor.nome) as autores from autor;

7 Contar o número de nacionalidades distintas
select distinct nacionalidade from autor;

8 Listar as nacionalidades, indicando o número de autores para cada uma delas
select distinct nacionalidade, count(autor.nome) as autores from autor;

9 Listar as editoras, indicando o número de livros publicados por cada
select editora.nome as editoras, count (idl) from editora, publicado where editora.ide=publicado.ide group by editoras;

10 Indicar o valor de livros comprados por autor
select autor.nome, sum(valor) as valores from compra, autor, escrito where compra.idl=escrito.idl and autor.ida=escrito.ida group by nome;

11 Indicar o valor de livros comprados por editora
select editora.nome as editora, sum(valor) as valores from compra, editora, publicado where compra.idl=publicado.idl and editora.ide=publicado.ide group by editora;

12 Indicar o valor de livros comprados por ano
13 Indicar o número de compras efetuadas por ano
14 Listar as compras efetuadas por editora
select titulo, editora.nome as editora, valor from livro, compra, editora, publicado where compra.idl=livro.idl and publicado.ide=editora.ide and publicado.idl=compra.idl order by editora;

15 Listar as compras efetuadas por língua e ordenadas por editora
select titulo, valor, editora.nome as editora, lingua from livro, compra, editora, publicado where compra.idl=livro.idl and publicado.ide=editora.ide and publicado.idl=compra.idl order by editora;

Nenhum comentário:

Postar um comentário