· 8 years ago · Aug 03, 2018, 11:54 AM
1create database if not exists clinica;
2use clinica;
3
4create table if not exists hospitais(
5id integer auto_increment not null primary key,
6nome varchar(50) not null);
7
8create table if not exists especialidades(
9id integer auto_increment not null primary key,
10especialidade varchar(50) not null);
11
12create table if not exists pacientes(
13id integer auto_increment not null primary key,
14nome varchar(50) not null);
15
16create table if not exists medicos(
17id integer auto_increment not null primary key,
18nome varchar(50) not null,
19id_especialidade integer);
20
21create table if not exists consultas(
22id integer auto_increment not null primary key,
23id_paciente integer not null,
24id_medico integer not null,
25id_hospital integer not null,
26data date not null,
27vlr_consulta numeric(15,3) not null);
28
29insert into hospitais(id,nome)
30values (1 ,"santa casa");
31insert into hospitais(id,nome)
32values (2 ,"amaral carvalho");
33insert into hospitais(id,nome)
34values (3 ,"sirio libanes");
35insert into hospitais(id,nome)
36values (4 ,"sao judas");
37
38insert into especialidades(id,especialidade)
39values (1 ,"cardiologista");
40insert into especialidades(id,especialidade)
41values (2 ,"ortopedista");
42insert into especialidades(id,especialidade)
43values (3 ,"pediatra");
44insert into especialidades(id,especialidade)
45values (4 ,"neurologista");
46
47insert into pacientes(id,nome)
48values (1 ,"maria");
49insert into pacientes(id,nome)
50values (2 ,"sergio");
51insert into pacientes(id,nome)
52values (3 ,"joaquim");
53insert into pacientes(id,nome)
54values (4 ,"paulo");
55
56insert into medicos(id,nome ,id_especialidade)
57values (1 ,"joao" ,3);
58insert into medicos(id,nome ,id_especialidade)
59values (2 ,"pedro" ,2);
60insert into medicos(id,nome ,id_especialidade)
61values (3 ,"luzia" ,4);
62insert into medicos(id,nome ,id_especialidade)
63values (4 ,"carlos",1);
64
65insert into consultas(id,id_paciente,id_medico,id_hospital,data,vlr_consulta)
66values (1,4,2,1,"2014-07-22",100);
67insert into consultas(id,id_paciente,id_medico,id_hospital,data,vlr_consulta)
68values (2,3,3,2,"2014-07-22",200);
69insert into consultas(id,id_paciente,id_medico,id_hospital,data,vlr_consulta)
70values (3,2,1,4,"2014-07-23",300);
71insert into consultas(id,id_paciente,id_medico,id_hospital,data,vlr_consulta)
72values (4,1,4,3,"2014-07-25",400);
73insert into consultas(id,id_paciente,id_medico,id_hospital,data,vlr_consulta)
74values (5,3,2,1,"2014-07-25",500);
75insert into consultas(id,id_paciente,id_medico,id_hospital,data,vlr_consulta)
76values (6,4,4,3,"2014-07-27",600);
77insert into consultas(id,id_paciente,id_medico,id_hospital,data,vlr_consulta)
78values (7,3,2,1,"2014-07-27",700);
79insert into consultas(id,id_paciente,id_medico,id_hospital,data,vlr_consulta)
80values (8,1,4,2,"2014-07-29",800);
81
82select medicos.nome Médicos, especialidades.especialidade Especialidade from medicos
83inner join especialidades on especialidades.id = medicos.id_especialidade;
84
85select pacientes.nome Paciente, medicos.nome Médico, consultas.data Data, consultas.vlr_consulta from consultas
86inner join pacientes on pacientes.id = consultas.id_paciente
87inner join medicos on medicos.id = consultas.id_medico;
88
89select pacientes.nome Paciente, medicos.nome Médico, hospitais.nome Hospital from consultas
90inner join pacientes on pacientes.id = consultas.id_paciente
91inner join medicos on medicos.id = consultas.id_medico
92inner join hospitais on hospitais.id = consultas.id_hospital;
93
94select pacientes.nome Paciente, medicos.nome Médico, hospitais.nome Hospital, especialidades.especialidade Especialidade, consultas.data, consultas.vlr_consulta Hospital
95from consultas
96inner join pacientes on pacientes.id = consultas.id_paciente
97inner join medicos on medicos.id = consultas.id_medico
98inner join hospitais on hospitais.id = consultas.id_hospital
99inner join especialidades on especialidades.id = medicos.id_especialidade
100where (consultas.data between '2014-07-23' and '2014-07-27') and (consultas.vlr_consulta <= 500);
101
102select * from consultas;