Ejercicios propuestos

English version (when available)

Ejercicios por dificultad

P03.001- Ejecuta lo siguiente:

create table T1(a int,b int,c int,
primary key(a)) engine=innodb;
create table T2(a int,d int,e int,
primary key(d),foreign key(a) references T1(a)) engine=innodb;

y comprueba, buscando el porqué en caso de fallo, el resultado de cada una de las órdenes de la siguiente secuencia:

a) insertar en T1(1,10,100)
b) insertar en T1(NULO,20,NULO)
c) insertar en T1(2,20,NULO)
d) insertar en T1(3,NULO,300)
e) insertar en T2(2,NULO,NULO)
f) insertar en T2(2,20,NULO)
g) insertar en T1(1,20,200)
h) insertar en T2(4,10,100)
i) insertar en T2(2,30,230)

P03.002- Continúa el anterior

j) modificar T1(1,10,100) a (2,10,100)
k) modificar T1(1,10,100) a (5,10,100)
l) modificar T2(2,20,NULO) a (2,20,220)
m) modificar T2(2,20,220) a (5,20,220)
n) modificar T2(5,20,220) a (2,10,100)
o) modificar T1(2,20,200) a (6,60,600)
p) modificar T1(3,NULO,300) a (7,70,700)
q) modificar T2(2,10,100) a (7,10,100)
r) modificar T2(2,30,230) a (7,30,230)
s) modificar T1(2,20,NULO) a (6,60,600)

P03.003- Continúa el anterior

t) borrar T2(7,30,230)
u) borrar T1(7,70,700)
v) borrar T1(5,10,100)
w) borrar T2(7,10,100)
x) borrar T1(7,70,700)
y) borrar T1(6,60,600)

P03.004- Ejecuta

create table T1(a int,b int,c int, primary key(a)) engine=innodb;
create table T2(a int,d int,e int,
primary key(d),
foreign key(a) references T1(a)) engine=innodb;

insert into T1 values (1,10,100);
insert into T1 values (2,20,NULL);
insert into T1 values (3,NULL,300);
insert into T2 values (2,20,NULL);
insert into T2 values (2,30,230);

a) Borra de T1 las filas con a = 3; ¿han desaparecido esas filas?
b) Borra de T1 las filas con a = 2; No ha hecho nada ¿verdad? ¿Cómo conseguirías eliminar esa fila? Hazlo.

P03.005- Muestra el SIP, apellidos, nombre y fecha de nacimiento de los pacientes que han nacido entre '1978-03-03' y '1978-04-30', ordenado por fecha de nacimiento.

P03.006- Muestra el SIP, apellidos, nombre y fecha de nacimiento de los pacientes que NO hayan nacido entre '1978-03-03' y '1978-04-30', ordenado por fecha de nacimiento.

P03.007- Apellidos, nombre y provincia de los pacientes que tienen como primer apellido Martínez.

P03.008- Apellidos, nombre y provincia de los pacientes cuyo nombre comienza por 'Jos'

P03.009- Apellidos, nombre y provincia de los pacientes cuyo nombre es compuesto y comienza por JOSE —como José María—.

P03.010- Provincias de los pacientes que contienen 'CA' o contienen 'ON'. Elimina duplicados.

P03.011- Provincias de los pacientes que contienen 'CA' y contienen 'ER'. Elimina duplicados.

P03.012- Provincias de los pacientes que contienen alguna 'AL' e 'I'. Elimina duplicados.

P03.013- Provincias de los pacientes que contienen 'AL' antes que alguna 'I'. Elimina duplicados.

P03.014- Provincias de los pacientes que contienen 'A*I', siendo '*' cualquier caracter. Elimina duplicados.

P03.015- Provincias de los pacientes que cuyo nombre no empieza por 'A'. Ordena y elimina duplicados.