Solución á practica DML sobre a base de datos traballadores

De MediaWiki
Revisión del 16:18 3 nov 2021 de Joselv (discusión | contribuciones) (Página creada con «= Solucións = == Tarefa 1.1 == insert into centro values( 40,'FRANQUICIA LUGO', 'C/PROGRESO, 8 - LUGO' ) ; == Tarefa 1.2 == insert into empregado (empNumero, empDe…»)
(dif) ← Revisión anterior | Revisión actual (dif) | Revisión siguiente → (dif)
Ir a la navegación Ir a la búsqueda

Solucións

Tarefa 1.1

insert into centro
     values( 40,'FRANQUICIA LUGO', 'C/PROGRESO, 8 - LUGO' ) ;

Tarefa 1.2

insert into empregado (empNumero, empDepartamento, empExtension, empDataNacemento, empDataIngreso, empSalario, empComision, empFillos, empNome) values (750,110,25,'1990-02-12',curdate(),825,50,1,'BARCIA, ANGELES'), (751,110,25,'1985-10-22',subdate(curdate(),15),900,null,0,'MENDEZ, RICARDO'), (752,120,45,'1992-05-09',null,1200,150,2,'BERNARDEZ, LUCIA'), (753,100,200,'1980-11-05',curdate(),1000,300,1,'VALIN, EVA');

Tarefa 1.3

update empregado set empSalario = round(empSalario*1.05,2), empComision = round(empComision*1.065,2);

Tarefa 1.4

update empregado set empDataIngreso = adddate(last_day(curdate()),1); where empNumero = 752 ;

Tarefa 1.5

update empregado set empSalario = round(empSalario*1.02,2) where empDepartamento = 120 ;

Tarefa 1.6

update empregado set empComision=ifnull(empComision,0)+50 where empDepartamento in (select depNumero from departamento where depCentro in (select cenNumero from centro where cenNome='SEDE CENTRAL'));

Tarefa 1.7

update departamento set depPresuposto = depPresuposto-depPresuposto*0.10 order by depPresuposto desc limit 1 ;

-- Unha alternativa en MySQL, empregando variables de usuario: select @mayor:=max(depPresuposto) from departamento; update departamento set depPresuposto=depPresuposto-depPresuposto*0.10 where depPresuposto = @mayor;

Tarefa 1.8

delete from empregado where empNumero = 380 ;

Tarefa 1.9

delete from empregado where timestampdiff(year, empDataNacemento, curdate())>=60; -- Outra forma de facelo: delete from empregado where date_add(empDataNacemento, interval 60 year)<curdate();

Tarefa 1.10

delete em, de from departamento as de join empregado as em where de.depNumero=em.empDepartamento and de.depNumero=121;

Tarefa 1.11

-- creación da táboa temporal create temporary table empregado_120 like empregado; -- inserción de datos insert into empregado_120 select * from empregado where empDepartamento = 120;