Exercicios Banco de Dados
- select c.placa, count(co.corrida) from corridas co right join carros c on c.placa=co.carro group by c.placa
Quantas cirurgias foram realizadas em pacientes que tem Lemos em qualquer parte do nome
- select count(c.inicio) from cirurgias c, pacientes p where c.paciente=p.codigo and p.nome like '%Lemos%'
Mostrar o nome das cidades que não tem nenhum hospital
- select c.nome from cidades c left join hospitais h on h.cidade=c.codigo group by c.codigo having count(h.codigo)=0
Mostrar o nome dos estados com população média das cidades superior a 1500000 - select e.nome from estados e, cidades c where c.estado=e.sigla group by e.sigla having avg(c.populacao)>1500000
Mostrar o nome dos hospitais com número de telefone múltiplo de 4 e localizados em cidades com população de 1200000 a 1800000 habitantes - select h.nome from hospitais h, cidades c where h.cidade=c.codigo and h.telefone%4=0 and c.populacao between '1200000' and '1800000
Quantas cirurgias foram feitas em pacientes com sexo M nascidos de 1964 a 1977
- select count(c.inicio) from cirurgias c, pacientes p where c.paciente=p.codigo and p.sexo like 'M' and year(p.nascimento) between '1964' and '1977'
Quantas cirurgias cada médico fez por ano. Mostre o nome do médico o ano e a quantidade.
- select nome, year(inicio), count(inicio) from cirurgias inner join medicos on codigo = medico group by nome, year(inicio)
Mostrar codigo, nome e endereço dos médicos responsáveis pelas cirurgias com custo superior a 845. Não mostrar o mesmo médico mais de uma vez.
- select medicos.codigo, medicos.nome, medicos.endereco from medicos, cirurgias where medicos.codigo = cirurgias.medico and cirurgias.custo > 845 group by medicos.codigo
Mostrar início e término das cirurgias de resposabilidade de médicos com nome iniciado com a letra J
- select cirurgias.inicio, cirurgias.termino from cirurgias.medicos where cirurgias.medico = medicos.codigo