Lab06

Transcrição

Lab06
Utilize o script lab06ins.sql para criar uma tabela de Atores e uma tabela de Filmes.
1. Between, to_char. a) Selecione o nome dos Atores com idade entre 30 e 60 anos.
b) Selecione o titulo dos filmes, seu dia e mês de lançamento, somente para os filmes
lançados entre os meses de janeiro e julho e na primeira quinzena do mês. (conclua: o
between inclui os valores dos extremos na pesquisa?)
2. Mod, to_char. Selecione o titulo dos filmes e mês de lançamento para os filmes que
foram lançados em um dia par. (conclua: você pode fazer operações aritméticas com o
resultado da função to_char?)
3. Like, lower, not in. Selecione os filmes cujo o título contenha a palavra instinto ou o
conectivo de mas que não sejam do tipo aventura ou drama.
4. (not) in. Use um único statement IN para selecionar os filmes de aventura que não foram
lançados no mês 11, nem os dramas lançados no mês 1, e nem os policiais lançados no mês
1).
5. Distinct, month, day. Selecione o titulo dos filmes, seu mês e dia de lançamento dos
filmes do tipo policial ou aventura, suprimindo ocorrências repetidas e atribuindo nomes
adequados às colunas. (Conclua: podemos ter linhas repetidas em tabelas? E no modelo
relacional?).
6. (not) Exists (+subselect), is null, from DUAL. a) Faça uma query ‘relatorio’ que
retorna a frase 'Não existem atores na tabela Atores' se não existirem Atores do sexo
masculino na tabela Atores. b) Faça uma query ‘relatorio’ que retorna a frase a) Faça uma
query ‘relatorio’ que retorna a frase 'Não existem atores na tabela Atores' se não existirem
Atores com a idade não informada na tabela Atores (Peça instruções sobre subselect no
laboratório se necessário).
7. Floor, avg, subselect. a) Selecione a idade média dos atores. b) Selecione os atores que
possuem idade inferior a média dos atores. (Conclua: os valores null são computados na
média como zeros?). (Peça instruções sobre subselect no laboratório se necessário).
8. Sum, count, avg. A média da idade de um grupo de pessoas é a dada pela soma das
idades dividida pela quantidade de pessoas: MediaIdade = SomaIdades / QdePessoas.
Desse modo espera-se que multiplicando-se MediaIdade * QdePessoas possamos obter a
soma das idades SomaIdades (= MediaIdade * QdePessoas). Faça uma query selecionando
sum(idade) e count(*)*avg(idade) da tabela Atores a) para todos os Atores; e b) somente
para os atores onde a idade não nula. Qual a sua conclusão?
9. Order by. Selecione os atores por ordem de idade descrescente. Conclua: valores null
são considerados na ordem?
10. Decode, to_char. Faça uma query para obter uma saída do tipo CROSS-TAB
tabela de filmes como abaixo.
da
TITULO
JAN FEV MAR ABR MAI JUN JUL AGO SET OUT NOV DEZ
-------------------- --- --- --- --- --- --- --- --- --- --- --- --Instinto Selvagem
X
La femme Nikita
X
Innocent blood
X
A marca da pantera
X
Cidade aberta
X
Fome de viver
X
Innocent blood
X
O desprezo
X
Innocent blood
X
A bela da tarde
X
11. Extra... Group by, having. Faça uma query que seleciona da tabela de filmes as linhas
duplicadas.

Documentos relacionados