You are on page 1of 34

Laboratorio 14

CRISTIAN OSWALDO PARRA VARGAS

SERVICIO NACIONAL DE APRENDIZAJE SENA


MODALIDAD VIRTUAL
ANALISIS Y DESARROLLO DE SISTEMAS DE INFORMACION ADSI
2017
Laboratorio 12

1. Crear las tablas propuestas en el ejercicio

Creamos la base de datos y utilizamos use para trabajar con ella:

mysql> create database laboratorioSQL;


Query OK, 1 row affected (0.03 sec)

mysql> use laboratorioSQL;


Database changed

Creamos las tablas:

mysql> create table Profesor(doc_prof varchar(11) primary key not null, nom_prof varchar(30)
not null, ape_profesor varchar(30) not null, cate_prof int, sal_prof int);

Con describe podemos ver cmo qued la tabla que hicimos:

mysql> describe profesor;


+-
---
+---------+----- +----------
+---------------- ---------- +----- -- - +
|
| Field | Type Null | Key | Default | Extra |
+-
---
+--------+----- +----------
+----------------- ------ ---- +----- -- - +
|
varchar
| doc_profesor (11) | NO | PRI | NULL | |
|
| nom profesor | varchar(30) | NO | NULL | |
|
varchar( |
| ape profesor 30) | NO | NULL | |
|
YE |
| cate_prof | int(11) S | NULL | |
|
YE |
| sal_prof | int(11) S | NULL | |
+-
+---------+----- +----------
+---------------- ---------- +------ --- - +
5 rows in set (0.16 sec)
mysql> create table curso(cod_curso int primary key auto_increment not null, nom_curs
varchar(100) not null,horas_cur int, valor_cur int);

mysql> create table Estudiante(doc_est varchar(11) primary key not null, nom_est varchar(30)
not null, ape_est varchar(30) not null, edad_est int);

La tabla Estudianxcurso la creamos pero no designamos las claves forneas:

mysql> create table Estudiantexcurso(cod_curso_estcur int not null, doc_est_estcur varchar(11)


not null, fec_ini_estcur date);

Designamos las fk individualmente:

mysql> alter table estudiantexcurso add constraint fkdoc_est foreign key(doc_est_estcur)


references estudiante(doc_est);

mysql> alter table estudiantexcurso add constraint fkcodcurs foreign key(cod_curso_estcur)


references curso(cod_curso);

mysql> create table Cliente(id_cli varchar(11) primary key not null, nom_cli varchar(30) not null,
ape_cli varchar(30) not null, dir_cli varchar(100), dep_cli varchar(20), mes_cum_cli varchar(10));
mysql> create table Articulo(id_art int primary key not null auto_increment, tit_art varchar(100),
aut_art varchar(100), edi_art varchar(300), prec_art int not null);

Creamos la tabla Pedido y luego referenciamos id_cli_ped como fornea:

mysql> create table Pedido(id_pedido int primary key not null auto_increment, id_cli_ped
varchar(11), fec_ped date not null, val_ped int not null);

mysql> alter table pedido add constraint fkid_cli foreign key(id_cli_ped) references
Cliente(id_cli);

mysql> create table Articuloxpedido(id_ped_artped int not null, id_art_artped int, can_art_artped
int, val_ven_art_artped int);

mysql> alter table Articuloxpedido add constraint fk_id_ped foreign key(id_ped_artped)


references Pedido(id_pedido);

mysql> alter table Articuloxpedido add constraint fk_art_ped foreign key(id_art_artped)


references Articulo(id_art);

mysql> create table Compaia(comnit varchar(11) primary key not null, comnombre varchar(30)
not null, comaofun int, comreplegal varchar(100));

mysql> create table TiposAutomotores(autotipo int primary key not null);

mysql> create table Automotores(autoplaca varchar(6) primary key not null, automarca
varchar(30) not null, autotipo int, automodelo int, autonumpasajeros int, autocilindraje int,
autonumchasis varchar(20));

mysql> alter table Automotores add constraint fk_tipoauto foreign key(Autotipo) references
TiposAutomotores(autotipo);

Aqu me dio un error de sintaxis y no lograba encontrar el por qu:

mysql> create table aseguramientos(asecodigo int(6) primary key not null auto_increment,
asefechainicio datenot null, asefechainspiracion date not null, asevalorasegurado int not null,
aseestado varchar not null, asecosto int not null, aseplaca varchar(6));
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near 'date not null,
asefechainspiracion date not null, asevalorasegurado int not null,' at line 1

Como fall varias veces al intentar crear la tabla decid crearla slo con su tabla
primaria para ir aadiendo columnas hasta hallar el error:

mysql> create table aseguramientos(asecodigo int(6) primary key not null auto_increment);
mysql> alter table aseguramientos add asefechainicio date not null after asecodigo;
mysql> alter table aseguramientos add asefechaexpiracion date not null after asefechainicio;
mysql> alter table aseguramientos add asevalorasegurado int not null after asefechaexpiracion;
El problema era que aseestado no tena longitud en el ejercicio y hay varchar hay
que asignarle una:

mysql> alter table aseguramientos add aseestado varchar(11) after asevalorasegurado;


mysql> alter table aseguramientos add asecosto int not null after aseestado;
mysql> alter table aseguramientos add aseplaca varchar(6) after aseestado;

mysql> alter table aseguramientos add constraint fk_placas foreign key(aseplaca) references
automotores(autoplaca);

Y ahora s qued bien la tabla:

mysql> describe automotores;


+
-
-
-
-
-
-
-
-
-
-
-
- +-
- +---------
+--------------------- -+ ------+--------- ------ +
|
T
y
p
| Field e | Null | Key | Default | Extra |
+
-
-
-
-
-
-
-
-
-
-
-
-
- +-
- +---------
+--------------------- - +------+----- -- ------ +
|
v |
a NUL
| autoplaca r | NO | PRI L | |
c
h
a
r
(
6
)
|
| varchar(30) | NUL
| automarca NO | L | |
|
i
n
t
(
1
1 | MUL |
| autotipo ) | YES NULL | |
|
i
n
t
(
1 |
1 NUL
| automodelo ) | YES |L | |
|
NUL
| autonumpasajeros | int(11) | YES |L | |
|
i
n
t
(
1 |
1 NUL
| autocilindraje ) | YES |L | |
| |
varch NUL
| autonumchasis ar(20) | YES | L | |
+------- +-
-------- +---------
+--------------------- - +------ +------- ------ +
7 rows in set (0.00 sec)

mysql> create table incidentes(incicodigo int primary key not null auto_increment, incifecha
date not null, inciplaca varchar(6) not null, incilugar varchar(40) not null, incicantheridos int,
incicantfatalidades int, incicanautosinvolucrados int);
mysql> alter table incidentes add constraint fk_inciplacas foreign key(inciplaca) references
automotores(autoplaca);

2. Aadimos los registros

mysql> insert into profesor values('63.502.720', 'Martha', 'Rojas', 2, 690000);


mysql> insert into profesor values('91.216.904', 'Carlos', 'Prez', 3, 950000);
mysql> insert into profesor values('13.826.789', 'Maritza', 'Angarita', 1, 550000);

Con este obtuvimos error por la longitud:

mysql> insert into profesor values('1.098.765.789', 'Alejandra', 'Torres', 4, 1100000); ERROR


1406 (22001): Data too long for column 'doc_profesor' at row 1

Se cambia la longitud de doc_profesor:

mysql> alter table profesor modify doc_profesor varchar(20);


mysql> insert into profesor values('1.098.765.789', 'Alejandra', 'Torres', 4, 1100000);
mysql> select * from profesor;
+---
----
----
---- +----------
+--------------- +-------------------- - +---------- +
| nom_profesor | ape_profesor | cate_prof | sal_prof
| doc_profesor |
+---
----
----
+------------- +----------
+----------------- --------- - +---------- +
| |
Alejandr Tor
| 1.098.765.789 a res | 4 | 1100000 |
|
An
gari
| 13.826.789 | Maritzata | 1 | 550000 |
|
Roj
| 63.502.720 | Martha as | 2 | 690000 |
|
Pr
| 91.216.904 | Carlos ez | 3 | 950000 |
+---
----
----
+------------- +----------
+----------------- --------- - +---------- +
mysql> insert into curso values
-> (149842, 'Fundamentos de bases de datos', 40, 500000), -> (250067,'Fundamentos de SQL',
20, 700000), -> (289011, 'Manejo de MYSQL', 45, 550000),
-> (345671, 'Fundamentals of Oracle',60, 3000000);

mysql> insert into estudiante values


-> ('63.502.720', 'Mara', 'Perez', 23),
-> ('91.245.678', 'Carlos Jose', 'Lopez', 25),
-> ('1.098.098.097', 'Jonatan', 'Ardila', 17),
-> ('1.098.765.768', 'Carlos', 'Martinez', 19);

mysql> insert into curso values


-> (149842, 'Fundamentos de bases de datos', 40, 500000), -> (250067, 'Fundamentos de
SQL', 20, 700000), -> (289011, 'Manejo de MySQL', 45, 550000),
-> (345671, 'Fundamentos de Oracle', 60, 3000000);

mysql> insert into estudiantexcurso values


-> (289011, '1.098.765.678', '2011-01-02'),
-> (250067, '63.502.720', '2011-01-03'),
-> (289011, '1.098.098.097', '2011-01-02'),
-> (345671, '63.502.720', '2011-01-04');

mysql> insert into cliente values


-> ('63502718', 'Maritza', 'Rojas', 'Calle 34 No. 14-45', 'Santander', 'Abril'), ->
('13890234', 'Roger', 'Ariza', 'Carrera 30 No. 13-45', 'Antioquia', 'Junio'),

-> ('77191956', 'Juan Carlos', 'Arenas', 'Diagonal 23 No. 12-34 apto. 101', 'Valle', 'Marzo'), ->
('1098765789', 'Catalina', 'Zapata', 'Avenida el Libertador No. 30-14', 'Cauca', 'Marzo');

mysql> insert into articulo values


-> (Null,'Redes cisco', 'Ernesto Arigasello', 'Alfaomega-Rama', 60000),
-> (Null, 'Facebook y twitter para adultos', 'Veloso Claudio', 'Alfaomega-Rama', 52000),
-> (Null, 'Creacin de un portal con php y mysql', 'Jacobo Pavn Puertas', 'Alfaomega-Rama',
40000),
-> (Null, 'Administracin de sistemas operativos', 'Julio Gmez Lpez', 'Alfaomega-Rama',
55000);

mysql> insert into pedido values


-> (null,'63502718','2012-02-25',120000),
-> (null,'77191956','2012-04-30',55000),
-> (null,'63502718','2011-12-10',260000),
-> (null,'1098765789','2012-02-25',1800000);

mysql> insert into articuloxpedido values


-> (1, 3, 5, 40000),
-> (1, 4, 12, 55000),
-> (2, 1, 5, 65000),
-> (3, 2, 10, 55000),
-> (3, 3, 12, 45000),
-> (4, 1, 20, 65000);
mysql> insert into compaia values
-> ('800890890-2', 'Seguros Atlantida', 1998, 'Carlos Lpez'),
-> ('899999999-1', 'Aseguradora Rojas', 1991, 'Luis Fernando Rojas'),
-> ('899999999-5', 'Seguros del Estadio', 2001, 'Maria Margarita Prez');

La tabla TiposAutomotores no tena columna autnombre:

mysql> alter table tiposautomotores add column (autnombre varchar(11) not null); Query OK, 0
rows affected (0.72 sec)

mysql> insert into tiposautomotores values


-> (1, 'Automviles'),
-> (2, 'Camperos'),
-> (3, 'Camiones');

mysql> insert into automotores values


-> ('FLL420', 'Chevrolet corsa', 1, 2003, 5, 1400, 'wywzzz167kk009d25'), ->
('DKZ820', 'Renault stepway', 1, 2008, 5, 1600, 'wywzzz157kk009d45'), ->
('KJQ920', 'Kia sportage', 2, 2009, 7, 2000, 'wywzzz157kk009d25');

mysql> insert into aseguramientos values


-> (1, '2012-09-30', '2013-09-30', 30000000, 'Vigente', 'FLL420', 500000), ->
(2, '2012-09-27', '2013-09-27', 35000000, 'Vigente', 'DKZ820', 600000), ->
(3, '2011-09-28', '2012-09-28', 50000000, 'Vencido', 'KJQ920', 800000);

mysql> insert into incidentes values


-> (1, '2012-09-30', 'DKZ820', 'Bucaramanga', 0, 0, 2), -> (2, '2012-09-27', 'FLL420', 'Girn',
1, 0, 1),
-> (3, '2011-09-28', 'FLL420', 'Bucaramanga', 1, 0, 2); Query OK, 3 rows affected (0.19 sec)

3. Realizamos consultas

Salarios de los profesores ordenados por categoras:

mysql> select sal_prof from profesor order by cate_prof;


+--------
--
+
| sal_prof |
+--------
--
+
| 550000 |
| 690000 |
| 950000 |
| 1100000 |
+--------
--
+
Mostrar cursos con valor mayor a $500000:

mysql> select valor_cur from curso where valor_cur > 500000;


+-----------+
| valor_cur |
+---------
-- +
| 700000 |
| 550000 |
| 3000000 |
+---------
--
+

Nmero de estudiantes cuya edad sea mayor a 22 aos:

mysql> select count(*) from estudiante where edad_est > 22;


+----------+
| count(*) |
+-------
--- +
| 2 |
+-------
--- +
1 row in set (0.05 sec)

Muestrar nombre y edad del estudiante ms joven:

mysql> select edad_est from estudiante order by edad_est asc limit 1;


+----------+
| edad_est |
+----------+
| 17 |
+----------+
1 row in set (0.00 sec)

Calcular el valor promedio de lso cursos cuyas horas sean mayores a 40:

mysql> select avg(valor_cur) from curso where horas_cur > 40;


+-------------
-----
+
| avg(valor_cur) |
+-------------
-----
+
| 1775000.0000 |
+-------------
------
+
1 row in set (0.00 sec)

Sueldo promedio de los profesores categora 1:

mysql> select avg(sal_prof) from profesor where cate_prof = 1;


+-----------
----
+
| avg(sal prof) |
+-----------
----
+
| 550000.0000 |
+-----------
----
+
1 row in set (0.02 sec)
Mostrar todos los campos de la tabla curso en orden ascendente por valor:

mysql> select * from curso order by valor cur asc;


+------
--------
--------
--------+----------
+----------- --------- +------------- +
| cod_curso | nom_curs | horas_cur | valor_cur |
+------
--------
--------
--------+----------
+----------- --------- +-------------- +
| 149842 | Fundamentos de bases de datos | 40 | 500000 |
| 289011 | Manejo de MySQL | 45 | 550000 |
| 250067 | Fundamentos de SQL | 20 | 700000 |
| 345671 | Fundamentos de Oracle | 60 | 3000000 |
+------
--------
--------
--------+----------
+----------- --------- +-------------- +
4 rows in set (0.00 sec)

Mostrar nombre del profesor con menos sueldo:

mysql> select nom_profesor from profesor order by sal_prof asc limit 1;


+-----------------+
| nom_profesor |
+-----------------+
| Maritza |
+-----------------+
1 row in set (0.00 sec)

Mostrar estudiantes (cdigo y nombre) que iniciaron curso el 01-02-2011, del curso
debe mostrarse el nombre, las horas y el valor:

mysql> select doc_est, nom_est, fec_ini_estcur, nom_curs, horas_cur, valor_cur -> from
estudiante join estudiantexcurso join curso
-> on fec_ini_estcur = '2011-01-02'and doc_est = doc_est_estcur and cod_curso_estcur =
cod_curso;
+----------
+-------
+-----------------+-----------+-----------------+------------------------ - ---- +
| doc_est | nom_est | fec_ini_estcur | nom_curs | horas_cur | valor_cur |
+----------------- +-----------------------
--+-------
+-----------------+----------- -- +--------- ---- +
| 1.098.765.678 | Carlos | 2011-01-02 | Manejo de MySQL | 45 | 550000 |
| 1.098.098.097 | Jonatan | 2011-01-02 | Manejo de MySQL | 45 | 550000 |
+----------- +----------------------- +----------
+-------
+----------------- -+----------------- -- - ---- +
2 rows in set (0.01 sec)

Visualizar profesores cuyo sueldo est entre $500000 y $700000:

mysql> select nom_profesor, ape_profesor, sal_prof -> from profesor


-> where sal_prof >= 500000 and sal_prof <= 700000;
Mostrar nombre, apellido y direccin de los clientes que realizaron pedido el da 25/02/2012:

mysql> select nom_cli, ape_cli, fec_ped


-> from cliente join pedido
-> on id_cli_ped = id_cli and fec_ped = '2012-02-25';
+---------
- +---------+------------ +
| nom_cli | ape_cli | fec_ped |
+---------
- +---------+------------ +
| Maritza | Rojas| 2012-02-25 |
| Catalina | Zapata | 2012-02-25 |
+---------
- +---------+------------ +
2 rows in set (0.00 sec)

Lista de todos los pedidos con el nombre del artculo:

mysql> select fec_ped, tit_art, nom_cli, can_art_artped


-> from articulo join articuloxpedido join pedido join cliente
-> on id_cli_ped = id_cli and id_ped_artped = id_pedido and id_art = id_art_artped;
------------------------------------------------- +------------ +---------------
+------------+ - - - +
| fec_ped | tit_art | nom_cli | can_art_artped |
------------------------------------------------- +------------ +---------------
+------------+ - - - +
| 2012-02-25 | Creacin de un portal con php y mysql | Maritza | 5 |
| 2012-02-25 | Administracin de sistemas operativos | Maritza | 12 |
| 2012-04-30 | Redes cisco | Juan Carlos | 5 |
| 2011-12-10 | Facebook y twitter para adultos | Maritza | 10 |
| 2011-12-10 | Creacin de un portal con php y mysql | Maritza | 12 |
| 2012-02-25 | Redes cisco | Catalina | 20 |
------------------------------------------------- +------------ +---------------
+------------+ - -- -- +
6 rows in set (0.00 sec)

Visualizar los clientes que cumplen aos en marzo:

mysql> select nom_cli, mes_cum_cli


-> from cliente
-> where mes_cum_cli = 'Marzo';
+------------
- +----------------+
| nom_cli | mes_cum_cli |
+------------
- +----------------+
| Catalina | Marzo |
| Juan Carlos | Marzo |
+------------
-- +---------------+
2 rows in set (0.00 sec)
Visualizar los datos del pedido 1 incluyendo el nombre del cliente, la direccin del mismo y el
valor de los artculos (Los valores en realidad son incorrectos pero as estaban en el ejercicio):

mysql> select id_ped_artped, nom_cli, dir_cli, tit_art, prec_art, can_art_artped, val_ped -> from
articuloxpedido join cliente join articulo join pedido
-> on id_cli = id_cli_ped and id_pedido = id_ped_artped and id_ped_artped = 1 and id_art=
id_art_artped;

Visualizar cliente, fecha y valor del pedido ms costoso:

mysql> select nom_cli, fec_ped,val_ped


-> from cliente join pedido
-> on id_cli = id_cli_ped order by val_ped desc limit 1;
+---------
- +---------------+-----------+
| nom_cli | fec_ped | val_ped |
+---------
- +---------------+-----------+
| Catalina | 2012-02-25 | 1800000 |
+---------
- +---------------+-----------+
1 row in set (0.00 sec)

Ver el conteo de artculos por editorial (slo hay una editorial):

mysql> select count(*) as id_art


-> from articulo
-> group by edi_art;
+--------+
| id_art |
+--------+
| 4 |
+--------+

Mostrar todos los pedidos con los respectivos articulos:


mysql> select id_art_artped, tit_art, can_art_artped, val_ven_art_artped
-> from
articuloxp
edido join
articulo
join
pedido
-> on
id_pedido
=
id_ped_art
ped and
id_art =
id_art_artp
ed;
+
-
-
-
-
-
-
-
-
-
- +
- -
- -
- -
- -
- -
- +-
- --
- --
- --
- --
- --
- --
- --
- --
- --
- --
- --
- --
- --
- --
- --
- --
- --
+--------------- - - -+
-
-
-
-
-
-
-
-
-
-
-
-
-
|
ca
n_
art
_ar
tpe
d |
val
_v
en
_ar
t_a
rtp
ed
| id_art_artped | tit_art |
++
- -
- -
- +-
- --
- --
- --
- --
- --
- --
- --
- --
- --
- --
- --
- --
- --
- --
- --
- --
- --
+--------------- - - -+
- -
- -
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
|
C
r
e
a
c
i

n
d
e
u
n
p
o
r
t
a
l 4
c 0
o 0
n 0
p 50
| 3 h| | |
p
y
m
y
s
q
l
|
A
d
m
i
n
i
s
t
r
a
c
i

n
d
e
s
i
s
t
e
m
a
s
o
p
e
r
a 5
t 5
i 0
v 10
o 20
| 4s| | |
|
R
e 6
d 5
e 0
s 0
c 50
| 1i | | |
s
c
o
|
F
a
c
e
b
o
o
k
y
t
w
i
t
t
e
r
p
a
r
a
a
d 5
u 5
l 0
t 10
o 00
| 2s| | |
|
C
r
e
a
c
i

n
d
e
u
n
p 4
o 5
r 0
t 10
a 20
| 3l | | |
c
o
n
p
h
p
y
m
y
s
q
l
|
R
e
d
e
s 6
c 5
i 0
s 20
c 00
| 1 o| | |
+
-
-
- +
- -
- -
- -
- +-
- --
- --
- --
- --
- --
- --
- --
- --
- --
- --
- --
- --
- --
- --
- --
- --
- --
- --
+--------------- - - -+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Todos los clientes organizados por apellido:

mysql> select * from cliente order by ape cli;


+--
---- +
---- + --
---- -- --
---- -- --
---- -- --
---- -- --
+----------- ---- -- --
+------------ -----+--------- --- - - +
|
d
e |
pmes
_ _cu
| ape_cli | cl m_
| id_cli | nom_clidir_cli i cli |
+--
---- +
---- + --
---- -- --
---- -- --
---- -- --
---- -- --
+----------- ---- -- --
+------------ -----+--------- --- - - +

|
| Diagonal 23 M
No. 12-34 ar
apto. 101 | z
| 77191956 | Juan Carlos | Arenas Valle o|
|
Ant
ioq
| Carrera uia |
30 No. Juni
| 13890234 | Roger | Ariza 13-45 o |
|
Sant
ande
r |
| Calle 34 Abri
| 63502718 | Maritza | Rojas No. 14-45l |
| Avenida el
Libertador |
No. 30-14 | M
| 1098765789 | Catalina | Zapata Cauca ar |
z
o
+-
--
+- --
--- --
+---------- --- --
--------------- --
+------------ +---------------- +-------------------- - --+

Todos los artculos por autor:

mysql> select * from articulo order by aut_art;

Visualizar los pedidos que se han realizado para el artculo con id 2, el listado debe
mostrar nombre, direccin, nmero de pedido y cantidad:

mysql> select id_art_artped, nom_cli, dir_cli, can_art_artped


-> from articuloxpedido join cliente join pedido join articulo
-> on id_art = id_art_artped and id_art_artped = 2 group by id_art;
+---- +----
+-------------
------ ---------------------
+---------------- - ------------------ +
| |
dir_ can_art_a
| id_art_artped | nom_cli cli rtped |
+---- +----
+-------------
------ ---------------------
+---------------- - ------------------ +
2 | Catalina |
Avenida el
Libertador No.
| 30-14 | 10 |
+---- +----
+-------------
------ ---------------------
+---------------- - ------------------ +

Empresas fundadas entre 1991 y 1998:

mysql> select * from compaia


-> where comaofun >= 1991 and comaofun <= 1998;
+----
------
+---------- +----------
------------ ------------
+---------------- - ---- ---- +
|
comaof
| un |
comnom comreple
| comnit bre gal |
+----
------
+---------- +-----------
------------ ------------
+---------------- - ---- --- +
1998
|
Carl
os
Lp
| 800890890-2 | Seguros Atlantida | ez |
1991 |
Luis
Fernando
| 899999999-1 | Aseguradora Rojas | Rojas |
+----
------
+---------- +-----------
------------ ------------
+---------------- - ---- --- +
Listado de automotores cuya pliza expira en octubre de 2013:

Esa bsqueda da un resultado vaco porque no se ha registrado ningn vehculo que expire en
octubre de 2013.

mysql> select autoplaca, automarca, autotipo, automodelo, autonumpasajeros, autocilindraje,


autonumchasis, asefechaexpiracion
-> from automotores join aseguramientos
-> on autoplaca = aseplaca and asefechaexpiracion > '2013-10-01' and asefechaexpiracion <
'2013-10-31';
Empty set (0.00 sec)

Pero s se han registrado dos que expiran en septiembre. Si lo hago con septiembre obtengo el
resultado:

mysql> select autoplaca, automarca, autotipo, automodelo, autonumpasajeros, autocilindraje,


autonumchasis, asefechaexpiracion
-> from automotores join aseguramientos
-> on autoplaca = aseplaca and asefechaexpiracion >= '2013-09-01' and asefechaexpiracion <=
'2013-09-30';

Visualizar incidentes del 30 de septiembre de 2012 con nmero de poliza, fecha de inicio,
valor asegurado y valor pliza.

mysql> select asecodigo, asefechainicio, asecosto, asevalorasegurado, incicodigo, incifecha,


inciplaca, incilugar, incicantheridos, incicantfatalidades, incicanautosinvolucrados

-> from aseguramientos join incidentes


-> on incifecha = '2012-09-30'group by incifecha;

Datos de los incidentes con un herido:

mysql> select incicodigo, inciplaca, asefechainicio, asecosto, aseestado, asevalorasegurado,


incicantheridos
-> from incidentes join aseguramientos
-> on inciplaca = aseplaca and incicantheridos = 1;

Todos los datos de la pliza ms costosa:

mysql> select * from aseguramientos order by asecosto desc limit 1;

Incidentes con el mnimo nmero de autos involucrados:

mysql> select incicodigo, incifecha, inciplaca, incilugar, incicantheridos, incicantfatalidades,


incicanautosinvolucrados, asecodigo, asevalorasegurado
-> from incidentes join aseguramientos
-> on inciplaca = aseplaca order by incicanautosinvolucrados asc limit 1;
Visualizar los incidentes del vehculo FLL420:

mysql> select incifecha, inciplaca, incilugar, incicantheridos, asefechainicio, asefechaexpiracion,


asevalorasegurado
-> from incidentes join aseguramientos
-> on inciplaca = aseplaca and inciplaca = 'FLL420';

Datos de la compaa con nit 89999999-5:

mysql> select * from compaia where comnit = '899999999-5';


+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- --------
- -------
- +------
- --------
- --------
+---------------- - + ------ +
|
c
o
m
n
o
m
b
r | comaofun |
| comnit e comreplegal |
+
- --------
- -------
- +------
+---------------- - + -------- +
- --------
- ------
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
2001 |
Maria
Marga
rita
| 899999999-5 | Seguros del Estadio | Prez |
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- --------
- -------
- +------
- --------
- --------
+---------------- - + ------ +
Datos de la pliza cuyo valor asegurado es el ms costoso:

mysql> select asecodigo, asefechainicio, asefechaexpiracion, aseplaca, aseestado,


asevalorasegurado, automarca, autotipo, automodelo, autocilindraje, autonumchasis

-> from aseguramientos join automotores


-> on aseplaca = autoplaca order by asevalorasegurado desc limit 1;

Datos de plizas de los automotores tipo 1:

mysql> select autoplaca, automarca, autotipo, automodelo, autonumpasajeros, autocilindraje,


autonumchasis, asefechainicio, asefechaexpiracion, aseestado, asevalorasegurado

-> from automotores join aseguramientos


-> on aseplaca = autoplaca and autotipo = 1;
Referencias

Los ejercicios fueron obtenidos de los objetos de aprendizaje Sena.


Para el desarrollo de la actividad se utiliz la aplicacin MySQL 5.7 command line client.

Se obtuvo datos adicionales sobre la sintaxis SQL en los siguientes sitios web:
www.mysqlconclase.net
www.genbetadev.com
www.forosdelweb.com

You might also like