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