Você está na página 1de 3

-- Mostrar os pacientes que receberam receita de Amoxicilina SELECT * fROM paciente WHERE idpaciente IN ( SELECT idconsulta FROM prescricao

WHERE idmedicamento IN ( select idmedicamento from medicamento where nomemedicamento = 'Amoxicilina' ) ) -- Mdicos que no atenderam Maria Santos SELECT * FROM medico WHERE idmedico NOT IN ( SELECT idmedico FROM consulta WHERE idpaciente IN ( SELECT idpaciente FROM paciente WHERE nomepaciente = 'Maria Santos' ) ) SELECT sexo, COUNT(*) FROM paciente GROUP BY sexo SELECT tarja, COUNT(*) FROM medicamento GROUP BY tarja ORDER BY COUNT(*) DESC -- Agrupar mdicos por especialidade SELECT especialidade, COUNT(*) FROM medico GROUP BY especialidade -- Agrupar consultas por data SELECT data, COUNT(*) FROM consulta GROUP BY data ORDER BY COUNT(*) DESC -- Agrupar consultas por mdico SELECT nomemedico ,COUNT(*) FROM medico JOIN consulta USING (idmedico) GROUP BY nomemedico ORDER BY nomemedico -- Agrupar consultas por paciente SELECT nomepaciente, COUNT(*)

FROM paciente JOIN consulta USING (idpaciente) GROUP BY nomepaciente -- Agrupar medicamentos por paciente SELECT nomepaciente, COUNT(*) FROM paciente JOIN consulta USING (idpaciente) JOIN prescricao USING (idconsulta ) GROUP BY nomepaciente ORDER BY nomepaciente -- Mostrar a quantidade de pacientes diferentes que cada mdico atendeu SELECT nomemedico ,COUNT( DISTINCT idpaciente) FROM medico JOIN consulta USING (idmedico) GROUP BY nomemedico ORDER BY nomemedico --mostrar a quantidade de medicamentos difrentes receitadors por paciente --considerar somente pessoas do sexo f e que tiveram mais de 2 medicamentos pres critos select nomepaciente, count(distinct idmedicamento) from paciente join consulta using (idpaciente) join prescricao using (idconsulta) where sexo='F' group by nomepaciente having count(distinct idmedicamento)>2 --mostrar a quantidade de medicamentos difrentes receitadors por paciente --considerar somente pessoas do sexo f e que tiveram mais de 2 medicamentos pres critos select nomepaciente, count(distinct idmedicamento) from paciente join consulta using (idpaciente) join prescricao using (idconsulta) where sexo='F' group by nomepaciente having count(distinct idmedicamento)>2 select nomepaciente,count(idpaciente) from consulta join paciente using(idpaciente) group by nomepaciente having count(idpaciente)<3 select nomemedico, count(*) from medico join consulta using(idmedico) join prescricao using (idconsulta) group by idmedico having count(idmedico)=1 or count(idmedico)=3 select * from medicamento select nomemedicamento, count(idmedicamento) from medico join consulta using (idmedico) join prescricao using(idconsulta) join medicamento using (idmedicamento)

where tarja='Amarela' group by nomemedicamento having count(idmedicamento)=2 select nomemedicamento, max(*) from medicamento join prescricao using (idmedicamento) group by nomemedicamento