Simulado 31/07
Página 1 de 1
Simulado 31/07
SELECT
animal.codigo_animal,
animal.nome_animal
FROM animal
ORDER BY
animal.nome_animal
--2 - Liste o nome da espécie e o nome do animal de todos animais do zoológico
SELECT
especie.nome_especie,
animal.nome_animal
FROM animal
INNER JOIN especie ON
animal.codigo_especie = especie.codigo_especie;
--3 - Liste o nome de todas as fêmeas de macacos no zoológico
SELECT
animal.nome_animal
FROM animal
INNER JOIN especie ON
animal.codigo_especie = especie.codigo_especie
WHERE
animal.sexo_animal = 'F'
AND especie.nome_especie = 'Macaco';
--4 - Chegou um novo papagaio no zoológico. Faça um comando que cadastre a espécie
--'Papagaio', relacionando-o com a classe de Aves
INSERT INTO especie(nome_especie, codigo_classe)
VALUES ('Papagaio', 2);
--5 - O nome deste papagaio será 'Louro'. Ele é macho, veio do Zoológico Bicharada (origem), e vai ficar na jaula chamada Gaiolão
INSERT INTO animal (nome_animal, sexo_animal, codigo_especie, codigo_origem, codigo_jaula)
VALUES ('Louro', 'M', 11, 2, 4);
--6 - Após um exame mais minucioso, descobriu-se que o Louro na verdade é... Loura!
--Altere o sexo e o nome deste pássaro
UPDATE animal
SET
nome_animal = 'Loura',
sexo_animal = 'F'
WHERE codigo_animal = 24;
--tambem aceitaria:
UPDATE animal
SET
nome_animal = 'Loura',
sexo_animal = 'F'
WHERE nome_animal = 'Louro';
--7 - Liste a quantidade de animais de cada espécie
SELECT
especie.nome_especie,
COUNT(codigo_animal)
FROM animal
INNER JOIN especie ON
animal.codigo_especie = especie.codigo_especie
GROUP BY
especie.nome_especie;
--Se quiser fazer aparecer contagem 0 para especies sem animais:
SELECT
especie.nome_especie,
COUNT(animal.codigo_especie)
FROM especie
LEFT OUTER JOIN animal ON
animal.codigo_especie = especie.codigo_especie
GROUP BY
especie.nome_especie;
--8 - Liste o nome de todos as aves do zoológico
SELECT
animal.nome_animal
FROM animal
INNER JOIN especie ON
animal.codigo_especie = especie.codigo_especie
INNER JOIN classe ON
classe.codigo_classe = especie.codigo_classe
WHERE
classe.nome_classe = 'Ave'
--9 - Liste o nome de todos os alimentos comidos pelo animal chamado 'Kika'
SELECT
alimento.nome_alimento
FROM alimento
INNER JOIN especie_alimento ON
alimento.codigo_alimento = especie_alimento.codigo_alimento
INNER JOIN especie ON
especie.codigo_especie = especie_alimento.codigo_especie
INNER JOIN animal ON
especie.codigo_especie = animal.codigo_especie
WHERE
animal.nome_animal = 'Kika';
--otimização:
SELECT
alimento.nome_alimento
FROM alimento
INNER JOIN especie_alimento ON
alimento.codigo_alimento = especie_alimento.codigo_alimento
INNER JOIN animal ON
especie_alimento.codigo_especie = animal.codigo_especie
WHERE
animal.nome_animal = 'Kika';
--10 - Liste o nome de todos os animais que comem 'Frutas'
SELECT
animal.nome_animal
FROM alimento
INNER JOIN especie_alimento ON
alimento.codigo_alimento = especie_alimento.codigo_alimento
INNER JOIN animal ON
especie_alimento.codigo_especie = animal.codigo_especie
WHERE
alimento.nome_alimento = 'Frutas';
--11 - Faça uma lista com o nome de todos os animais que vieram de
--alguma origem declarada (não nula)
SELECT
animal.nome_animal
FROM animal
WHERE animal.codigo_origem IS NOT NULL;
--12 - Faça uma lista com o nome de todas as espécies de animais contidas
--na jaula chamada 'Gaiolão'
SELECT DISTINCT
especie.nome_especie
FROM animal
INNER JOIN especie ON
animal.codigo_especie = especie.codigo_especie
INNER JOIN jaula ON
animal.codigo_jaula = jaula.codigo_jaula
WHERE
jaula.nome_jaula = 'Gaiolão'
--13 - Faça uma lista com o nome de todos os animais seguidos do nome
--de sua origem. Caso o animal não tenha origem declarada, basta exibir
--apenas o nome do animal
SELECT
animal.nome_animal,
origem.nome_origem
FROM animal
LEFT OUTER JOIN origem ON
animal.codigo_origem = origem.codigo_origem
animal.codigo_animal,
animal.nome_animal
FROM animal
ORDER BY
animal.nome_animal
--2 - Liste o nome da espécie e o nome do animal de todos animais do zoológico
SELECT
especie.nome_especie,
animal.nome_animal
FROM animal
INNER JOIN especie ON
animal.codigo_especie = especie.codigo_especie;
--3 - Liste o nome de todas as fêmeas de macacos no zoológico
SELECT
animal.nome_animal
FROM animal
INNER JOIN especie ON
animal.codigo_especie = especie.codigo_especie
WHERE
animal.sexo_animal = 'F'
AND especie.nome_especie = 'Macaco';
--4 - Chegou um novo papagaio no zoológico. Faça um comando que cadastre a espécie
--'Papagaio', relacionando-o com a classe de Aves
INSERT INTO especie(nome_especie, codigo_classe)
VALUES ('Papagaio', 2);
--5 - O nome deste papagaio será 'Louro'. Ele é macho, veio do Zoológico Bicharada (origem), e vai ficar na jaula chamada Gaiolão
INSERT INTO animal (nome_animal, sexo_animal, codigo_especie, codigo_origem, codigo_jaula)
VALUES ('Louro', 'M', 11, 2, 4);
--6 - Após um exame mais minucioso, descobriu-se que o Louro na verdade é... Loura!
--Altere o sexo e o nome deste pássaro
UPDATE animal
SET
nome_animal = 'Loura',
sexo_animal = 'F'
WHERE codigo_animal = 24;
--tambem aceitaria:
UPDATE animal
SET
nome_animal = 'Loura',
sexo_animal = 'F'
WHERE nome_animal = 'Louro';
--7 - Liste a quantidade de animais de cada espécie
SELECT
especie.nome_especie,
COUNT(codigo_animal)
FROM animal
INNER JOIN especie ON
animal.codigo_especie = especie.codigo_especie
GROUP BY
especie.nome_especie;
--Se quiser fazer aparecer contagem 0 para especies sem animais:
SELECT
especie.nome_especie,
COUNT(animal.codigo_especie)
FROM especie
LEFT OUTER JOIN animal ON
animal.codigo_especie = especie.codigo_especie
GROUP BY
especie.nome_especie;
--8 - Liste o nome de todos as aves do zoológico
SELECT
animal.nome_animal
FROM animal
INNER JOIN especie ON
animal.codigo_especie = especie.codigo_especie
INNER JOIN classe ON
classe.codigo_classe = especie.codigo_classe
WHERE
classe.nome_classe = 'Ave'
--9 - Liste o nome de todos os alimentos comidos pelo animal chamado 'Kika'
SELECT
alimento.nome_alimento
FROM alimento
INNER JOIN especie_alimento ON
alimento.codigo_alimento = especie_alimento.codigo_alimento
INNER JOIN especie ON
especie.codigo_especie = especie_alimento.codigo_especie
INNER JOIN animal ON
especie.codigo_especie = animal.codigo_especie
WHERE
animal.nome_animal = 'Kika';
--otimização:
SELECT
alimento.nome_alimento
FROM alimento
INNER JOIN especie_alimento ON
alimento.codigo_alimento = especie_alimento.codigo_alimento
INNER JOIN animal ON
especie_alimento.codigo_especie = animal.codigo_especie
WHERE
animal.nome_animal = 'Kika';
--10 - Liste o nome de todos os animais que comem 'Frutas'
SELECT
animal.nome_animal
FROM alimento
INNER JOIN especie_alimento ON
alimento.codigo_alimento = especie_alimento.codigo_alimento
INNER JOIN animal ON
especie_alimento.codigo_especie = animal.codigo_especie
WHERE
alimento.nome_alimento = 'Frutas';
--11 - Faça uma lista com o nome de todos os animais que vieram de
--alguma origem declarada (não nula)
SELECT
animal.nome_animal
FROM animal
WHERE animal.codigo_origem IS NOT NULL;
--12 - Faça uma lista com o nome de todas as espécies de animais contidas
--na jaula chamada 'Gaiolão'
SELECT DISTINCT
especie.nome_especie
FROM animal
INNER JOIN especie ON
animal.codigo_especie = especie.codigo_especie
INNER JOIN jaula ON
animal.codigo_jaula = jaula.codigo_jaula
WHERE
jaula.nome_jaula = 'Gaiolão'
--13 - Faça uma lista com o nome de todos os animais seguidos do nome
--de sua origem. Caso o animal não tenha origem declarada, basta exibir
--apenas o nome do animal
SELECT
animal.nome_animal,
origem.nome_origem
FROM animal
LEFT OUTER JOIN origem ON
animal.codigo_origem = origem.codigo_origem
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos