removed ficha1
This commit is contained in:
parent
3a6bccd8e9
commit
1a56fc44af
1 changed files with 0 additions and 234 deletions
234
ficha1.sql
234
ficha1.sql
|
@ -1,234 +0,0 @@
|
||||||
-- 2.1 Altere a coluna estado_civil da tabela pacientes para definir ‘S’ como valor
|
|
||||||
-- padrão
|
|
||||||
ALTER TABLE pacientes modify estado_civil CHAR(1) DEFAULT 'S';
|
|
||||||
|
|
||||||
-- 2.2-Remova o valor padrão que introduziu na alínea anterior.
|
|
||||||
ALTER TABLE pacientes modify estado_civil CHAR(1);
|
|
||||||
|
|
||||||
-- 2.3-Altere a tabela dos seguros para remover a coluna com o estado ativo.
|
|
||||||
ALTER TABLE seguros
|
|
||||||
DROP COLUMN ativo;
|
|
||||||
|
|
||||||
-- 2.4-Adicione à tabela pacientes uma coluna para introduzir o Número de
|
|
||||||
-- Identificação de Segurança Social (NISS).
|
|
||||||
ALTER TABLE pacientes add NISS VARCHAR(20);
|
|
||||||
|
|
||||||
-- 2.5-Remova a coluna Número de Identificação de Segurança Social (NISS) da tabela
|
|
||||||
-- pacientes.
|
|
||||||
ALTER TABLE pacientes
|
|
||||||
DROP COLUMN NISS;
|
|
||||||
|
|
||||||
-- 4.1-Liste todos os médicos que trabalham no Hospital Portucalense
|
|
||||||
SELECT DISTINCT
|
|
||||||
*
|
|
||||||
FROM
|
|
||||||
medicos m
|
|
||||||
INNER JOIN funcionarios f
|
|
||||||
WHERE
|
|
||||||
f.dta_fim IS NULL;
|
|
||||||
|
|
||||||
-- 4.2-Liste o nome, o sexo e a data de nascimento dos pacientes do Hospital
|
|
||||||
-- Portucalense.
|
|
||||||
SELECT
|
|
||||||
nome,
|
|
||||||
sexo,
|
|
||||||
dta_nascimento
|
|
||||||
FROM
|
|
||||||
pacientes;
|
|
||||||
|
|
||||||
-- 4.3-Liste as diferentes localidades dos pacientes do Hospital.
|
|
||||||
desc pacientes;
|
|
||||||
|
|
||||||
SELECT DISTINCT
|
|
||||||
localidade
|
|
||||||
FROM
|
|
||||||
pacientes;
|
|
||||||
|
|
||||||
-- 4.4- Quais os procedimentos que têm um custo superior a 15€
|
|
||||||
desc procedimentos;
|
|
||||||
|
|
||||||
SELECT
|
|
||||||
*
|
|
||||||
FROM
|
|
||||||
procedimentos
|
|
||||||
WHERE
|
|
||||||
preco > '15';
|
|
||||||
|
|
||||||
-- 4.5-Liste as consultas onde foram efetuados procedimentos;
|
|
||||||
desc consultas;
|
|
||||||
|
|
||||||
desc examinacoes;
|
|
||||||
|
|
||||||
SELECT
|
|
||||||
*
|
|
||||||
FROM
|
|
||||||
consultas c
|
|
||||||
LEFT JOIN examinacoes e ON e.nr_episodio = c.nr_episodio;
|
|
||||||
|
|
||||||
-- 4.6-Liste as consultas que ainda não foram faturadas;
|
|
||||||
desc consultas;
|
|
||||||
|
|
||||||
SELECT
|
|
||||||
*
|
|
||||||
FROM
|
|
||||||
consultas
|
|
||||||
WHERE
|
|
||||||
dta_pagamento IS NULL;
|
|
||||||
|
|
||||||
-- 4.7-Quais as pacientes do sexo feminino casadas?
|
|
||||||
desc pacientes;
|
|
||||||
|
|
||||||
SELECT
|
|
||||||
*
|
|
||||||
FROM
|
|
||||||
pacientes
|
|
||||||
WHERE
|
|
||||||
estado_civil = 'c';
|
|
||||||
|
|
||||||
-- 4.8-Liste os pacientes que não possuem seguro de saúde.
|
|
||||||
desc pacientes;
|
|
||||||
|
|
||||||
desc seguros;
|
|
||||||
|
|
||||||
SELECT
|
|
||||||
*
|
|
||||||
FROM
|
|
||||||
pacientes p
|
|
||||||
LEFT JOIN seguros s ON s.nr_apolice = p.nr_apolice;
|
|
||||||
|
|
||||||
-- 4.9-Quais são as seguradoras que possuem parceria com o hospital que não estão a
|
|
||||||
-- cobrir o seguro de saúde de nenhum paciente?
|
|
||||||
desc seguradoras;
|
|
||||||
|
|
||||||
desc seguros;
|
|
||||||
|
|
||||||
desc pacientes;
|
|
||||||
|
|
||||||
SELECT
|
|
||||||
*
|
|
||||||
FROM
|
|
||||||
seguros s
|
|
||||||
RIGHT JOIN seguradoras seg ON seg.id_seguradora = s.id_seguradora
|
|
||||||
RIGHT JOIN pacientes p ON p.nr_apolice = s.nr_apolice
|
|
||||||
WHERE
|
|
||||||
seg.id_seguradora IS NULL;
|
|
||||||
|
|
||||||
-- 4.10-Qual é o nome dos medicamentos que não terminam em ‘ol’ nem em ‘na’?
|
|
||||||
SELECT
|
|
||||||
nome
|
|
||||||
FROM
|
|
||||||
medicamentos
|
|
||||||
WHERE
|
|
||||||
nome NOT LIKE "%ol"
|
|
||||||
AND nome NOT LIKE "%na";
|
|
||||||
|
|
||||||
-- 4.11-Qual o nome dos procedimentos que possuem um custo entre 20 e 30€?
|
|
||||||
desc procedimentos;
|
|
||||||
|
|
||||||
SELECT
|
|
||||||
desc_proc
|
|
||||||
FROM
|
|
||||||
procedimentos
|
|
||||||
WHERE
|
|
||||||
preco > 20
|
|
||||||
AND preco < 30;
|
|
||||||
|
|
||||||
-- 4.12-Liste as localidades dos pacientes que possuem exatamente 5 caracteres.
|
|
||||||
desc pacientes;
|
|
||||||
|
|
||||||
SELECT DISTINCT
|
|
||||||
localidade
|
|
||||||
FROM
|
|
||||||
pacientes
|
|
||||||
WHERE
|
|
||||||
length (localidade) = 5;
|
|
||||||
|
|
||||||
-- 4.13-Quais as especialidades que possuem ‘neuro’ no nome?
|
|
||||||
desc especialidades;
|
|
||||||
|
|
||||||
SELECT
|
|
||||||
*
|
|
||||||
FROM
|
|
||||||
especialidades
|
|
||||||
WHERE
|
|
||||||
des_especialidade LIKE "%neuro%";
|
|
||||||
|
|
||||||
-- 4.14-Quais as especialidades que terminam em ‘logia’?
|
|
||||||
desc especialidades;
|
|
||||||
|
|
||||||
SELECT
|
|
||||||
*
|
|
||||||
FROM
|
|
||||||
especialidades
|
|
||||||
WHERE
|
|
||||||
des_especialidade LIKE "%logia";
|
|
||||||
|
|
||||||
-- 4.15-Liste os telefones dos pacientes que começam por 253
|
|
||||||
desc pacientes;
|
|
||||||
|
|
||||||
desc telefones_pacientes;
|
|
||||||
|
|
||||||
SELECT
|
|
||||||
nr_telefone
|
|
||||||
FROM
|
|
||||||
telefones_pacientes
|
|
||||||
WHERE
|
|
||||||
nr_telefone LIKE "253%";
|
|
||||||
|
|
||||||
-- 4.16-Liste os administrativos que se chamam ‘João’ ou ‘Pedro’.
|
|
||||||
desc administrativos;
|
|
||||||
|
|
||||||
SELECT
|
|
||||||
*
|
|
||||||
FROM
|
|
||||||
administrativos a
|
|
||||||
LEFT JOIN funcionarios f ON a.nr_mec = f.nr_mec
|
|
||||||
WHERE
|
|
||||||
f.nome LIKE "%João%"
|
|
||||||
OR f.nome LIKE "%Pedro%";
|
|
||||||
|
|
||||||
-- 4.17-Liste as prescrições por ordem crescente de validade, isto é, da mais antiga
|
|
||||||
-- para a mais recente.
|
|
||||||
desc prescricoes;
|
|
||||||
|
|
||||||
SELECT
|
|
||||||
*
|
|
||||||
FROM
|
|
||||||
prescricoes
|
|
||||||
ORDER BY
|
|
||||||
data_validade asc;
|
|
||||||
|
|
||||||
-- 4.18-Retorne para cada estado de agendamento externo (0 – hospital e 1 – externo)
|
|
||||||
-- o número total de agendamentos.
|
|
||||||
desc agendamentos;
|
|
||||||
|
|
||||||
SELECT
|
|
||||||
externo,
|
|
||||||
COUNT(*) AS total
|
|
||||||
FROM
|
|
||||||
agendamentos
|
|
||||||
GROUP BY
|
|
||||||
externo;
|
|
||||||
|
|
||||||
-- 4.19-Indique o número total de pacientes para os sexos feminino e masculino.
|
|
||||||
desc pacientes;
|
|
||||||
|
|
||||||
SELECT
|
|
||||||
sexo,
|
|
||||||
COUNT(sexo) AS total
|
|
||||||
FROM
|
|
||||||
pacientes
|
|
||||||
WHERE
|
|
||||||
sexo <> 'I'
|
|
||||||
GROUP BY
|
|
||||||
sexo;
|
|
||||||
|
|
||||||
-- 4.20-Liste os procedimentos que possuem um valor acima da média por ordem
|
|
||||||
-- decrescente de preço.
|
|
||||||
|
|
||||||
desc procedimentos;
|
|
||||||
|
|
||||||
select *
|
|
||||||
from procedimentos p
|
|
||||||
where p.preco > (select avg(preco) from procedimentos);
|
|
||||||
|
|
Loading…
Reference in a new issue