Ejercicios tema 6.
Actualización de datos
1. Crear una tabla (llamarla nuevaempleados) que contenga las filas de la tabla empleados.
Mostrar ventana de consultas SQL
10 filas insertadas. (La consulta tardó 0,0642 segundos.)
INSERT INTO nuevaempleados SELECT * FROM empleados
SELECT * FROM `nuevaempleados`
NUMEM
NOMBRE EDAD OFICINA TITULO CONTRATO JEFE CUOTA VENTAS
P
101 ANTONIO VIGUER 45 12 REPRESENTANTE 1996-10-20 104 300000 305000
102 ALVARO JAUMES 48 21 REPRESENTANTE 1996-12-10 108 350000 474000
103 JUAN ROVIRA 29 12 REPRESENTANTE 1997-03-10 104 275000 286000
104 JOSE GONZALEZ 33 12 DIR VENTAS 1997-05-19 106 200000 143000
VICENTE
105 37 13 REPRESENTANTE 1998-02-12 104 350000 368000
PANTALLA
106 LUIS ANTONIO 52 11 DIR GENERAL 1998-06-14 0 275000 299000
107 JORGE GUTIERREZ 49 22 REPRESENTANTE 1998-11-14 108 300000 186000
ANA
108 62 21 DIR VENTAS 1999-10-12 106 350000 361000
BUSTAMANTE
109 MARIA SUNTA 31 11 REPRESENTANTE 1999-10-12 106 300000 392000
110 JUAN VICTOR 41 0 REPRESENTANTE 1990-01-13 104 0 76000
2. Crear una tabla (llamarla nuevaoficinas) que contenga las filas de la tabla oficinas.
9 filas insertadas. (La consulta tardó 0,0546 segundos.)
INSERT INTO nuevaoficinas SELECT * FROM oficinas
Mostrando filas 0 - 8 (total de 9, La consulta tardó 0,0008 segundos.)
SELECT * FROM `nuevaoficinas`
OFICINA CIUDAD REGION DIR OBJETIVO VENTAS
11 CALI OESTE 106 575000 693000
12 IBAGUE ESTE 104 300000 735000
13 ARMENIA ESTE 105 350000 368000
21 BARRANQUILLA NORTE 108 725000 836000
22 POPAYAN OESTE 108 300000 186000
23 BOGOTA CENTRO 108 900000 340000
24 PEREIRA CENTRO 108 750000 150000
NUL
26 CARTAGENA NORTE 400000 0
L
NUL
28 CHOCO ESTE 90000 0
L
3. Crear una tabla (llamarla nuevaproductos) que contenga las filas de la tabla productos.
25 filas insertadas. (La consulta tardó 0,0877 segundos.)
INSERT INTO nuevaproductos SELECT * FROM productos
Mostrar ventana de consultas SQL
Mostrando filas 0 - 24 (total de 25, La consulta tardó 0,0011 segundos.)
SELECT * FROM `nuevaproductos`
IDFAB IDPRODUCTO DESCRIPCION PRECIO EXISTENCIAS
ACI 41001 ARANDELA 58 277
ACI 41002 BISAGRA 80 167
ACI 41003 ART13 112 207
ACI 41004 ART14 123 139
ACI 4100X JUNTA 26 37
ACI 4100Y EXTRACTOR 2888 25
ACI 4100Z MONT 2625 28
BIC 41003 MANIVELA 652 3
BIC 41089 RODAMIENTO 225 78
BIC 41672 PLATO 180 0
FEA 112 CUBO 148 115
FEA 114 CUBO 243 15
IMM 773C REOSTATO 975 28
IMM 775C REOSTATO2 1 5
IMM 779C REOSTATO3 1 0
IMM 887H CAJA CLAVOS 54 223
IMM 887P PERNO 25 24
IMM 887X MANIVELA 475 32
QSA XK47 RED 355 38
QSA XK48 RED 134 203
QSA XK48A RED 117 37
REI 2A44G PAS 117 14
REI 2A44I BOMBA I 4 12
REI 2A44R BOMBA R 4 12
REI 2A45C JUNTA 79 210
4. Crear una tabla (llamarla nuevapedidos) que contenga las filas de la tabla pedidos.
30 filas insertadas. (La consulta tardó 0,0515 segundos.)
INSERT INTO nuevapedidos SELECT * FROM pedidos
Mostrando filas 0 - 24 (total de 30, La consulta tardó 0,0012 segundos.)
SELECT * FROM `nuevapedidos`
NUMPEDID RE PRODUCT
CODIGO FECHAPEDIDO CLIE FAB CANT IMPORTE
O P O
1 110036 1997-01-02 2107 110 ACI 4100Z 9 22500
2 110036 1997-01-02 2117 106 REI 2A44I 7 31500
3 112963 1997-05-10 2103 105 ACI 41004 28 3276
4 112968 1990-01-11 2102 101 ACI 41004 34 3978
5 112975 1997-02-11 2111 103 REI 2A44G 6 2100
NUMPEDID RE PRODUCT
CODIGO FECHAPEDIDO CLIE FAB CANT IMPORTE
O P O
6 112979 1989-10-12 2114 108 ACI 4100Z 6 15000
7 112983 1997-05-10 2103 105 ACI 41004 6 702
8 112987 1997-01-01 2103 105 ACI 4100Y 11 27500
9 112989 1997-12-10 2101 106 FEA 114 6 1458
10 112992 1990-04-15 2118 108 ACI 41002 10 760
11 112993 1997-03-10 2106 102 REI 2A45C 24 1896
12 112997 1997-04-04 2124 107 BIC 41003 1 652
13 113003 1997-02-05 2108 109 IMM 779C 3 5625
14 113007 1997-01-01 2112 108 IMM 773C 3 2925
15 113012 1997-05-05 2111 105 ACI 41003 35 3745
16 113013 1997-08-06 2118 108 BIC 41003 1 652
17 113024 1997-07-04 2114 108 QSA XK47 20 7100
18 113027 1997-02-05 2103 105 ACI 41002 54 4104
19 113034 1997-11-05 2107 110 REI 2A45C 8 632
20 113042 1997-01-01 2113 101 REI 2A44R 5 22500
21 113045 1997-07-02 2112 108 REI 2A44R 10 45000
22 113048 1997-02-02 2120 102 IMM 779C 2 3750
23 113049 1997-04-04 2118 108 QSA XK47 2 776
24 113051 1997-07-06 2118 108 QSA XK47 4 1420
25 113055 1999-04-01 2108 101 ACI 4100X 6 150
5. Subir un 5% el precio de todos los productos del fabricante ACI.
7 filas afectadas. (La consulta tardó 0,0517 segundos.)
UPDATE productos SET precio = precio * 1.05 WHERE idfab = 'ACI'
SELECT * FROM `productos`
IDFAB IDPRODUCTO DESCRIPCION PRECIO EXISTENCIAS
ACI 41001 ARANDELA 61 277
ACI 41002 BISAGRA 84 167
ACI 41003 ART13 118 207
IDFAB IDPRODUCTO DESCRIPCION PRECIO EXISTENCIAS
ACI 41004 ART14 129 139
ACI 4100X JUNTA 27 37
ACI 4100Y EXTRACTOR 3032 25
ACI 4100Z MONT 2756 28
BIC 41003 MANIVELA 652 3
BIC 41089 RODAMIENTO 225 78
BIC 41672 PLATO 180 0
FEA 112 CUBO 148 115
FEA 114 CUBO 243 15
IMM 773C REOSTATO 975 28
IMM 775C REOSTATO2 1 5
IMM 779C REOSTATO3 1 0
IMM 887H CAJA CLAVOS 54 223
IMM 887P PERNO 25 24
IMM 887X MANIVELA 475 32
QSA XK47 RED 355 38
QSA XK48 RED 134 203
QSA XK48A RED 117 37
REI 2A44G PAS 117 14
REI 2A44I BOMBA I 4 12
REI 2A44R BOMBA R 4 12
REI 2A45C JUNTA 79 210
6. Añadir una nueva oficina para la ciudad de Bogotá, con el número de oficina 30, con un
objetivo de 100000 y región Centro.
1 fila insertada. (La consulta tardó 0,0649 segundos.)
INSERT INTO oficinas ( oficina, region, ciudad, objetivo ) VALUES ( 30, 'centro','Bogotá',
100000 )
7. Cambiar los empleados de la oficina 21 a la oficina 30.
2 filas afectadas. (La consulta tardó 0,0697 segundos.)
UPDATE empleados SET oficina = 30 WHERE oficina = 21
8. Eliminar los pedidos del empleado 105.
5 filas afectadas. (La consulta tardó 0,0767 segundos.)
DELETE FROM pedidos WHERE rep = 105
Mostrando filas 0 - 24 (total de 25, La consulta tardó 0,0008 segundos.)
SELECT * FROM `pedidos`
NUMPEDID RE PRODUCT
CODIGO FECHAPEDIDO CLIE FAB CANT IMPORTE
O P O
1 110036 1997-01-02 2107 110 ACI 4100Z 9 22500
2 110036 1997-01-02 2117 106 REI 2A44I 7 31500
4 112968 1990-01-11 2102 101 ACI 41004 34 3978
5 112975 1997-02-11 2111 103 REI 2A44G 6 2100
6 112979 1989-10-12 2114 108 ACI 4100Z 6 15000
9 112989 1997-12-10 2101 106 FEA 114 6 1458
10 112992 1990-04-15 2118 108 ACI 41002 10 760
11 112993 1997-03-10 2106 102 REI 2A45C 24 1896
12 112997 1997-04-04 2124 107 BIC 41003 1 652
13 113003 1997-02-05 2108 109 IMM 779C 3 5625
14 113007 1997-01-01 2112 108 IMM 773C 3 2925
16 113013 1997-08-06 2118 108 BIC 41003 1 652
17 113024 1997-07-04 2114 108 QSA XK47 20 7100
19 113034 1997-11-05 2107 110 REI 2A45C 8 632
20 113042 1997-01-01 2113 101 REI 2A44R 5 22500
21 113045 1997-07-02 2112 108 REI 2A44R 10 45000
22 113048 1997-02-02 2120 102 IMM 779C 2 3750
23 113049 1997-04-04 2118 108 QSA XK47 2 776
24 113051 1997-07-06 2118 108 QSA XK47 4 1420
25 113055 1999-04-01 2108 101 ACI 4100X 6 150
26 113057 1997-11-01 2111 103 ACI 4100X 24 600
27 113058 1989-07-04 2108 109 FEA 112 10 1480
28 113062 1997-07-04 2124 107 BIC 41003 10 2430
29 113065 1997-06-03 2106 102 QSA XK47 6 2130
NUMPEDID RE PRODUCT
CODIGO FECHAPEDIDO CLIE FAB CANT IMPORTE
O P O
30 113069 1997-08-01 2109 107 IMM 773C 22 31350
9. Eliminar las oficinas que no tengan empleados.
5 filas afectadas. (La consulta tardó 0,0662 segundos.)
DELETE oficinas.* FROM oficinas LEFT JOIN empleados ON oficinas.oficina= empleados.oficina
WHERE empleados.numemp IS NULL
Mostrando filas 0 - 4 (total de 5, La consulta tardó 0,0010 segundos.)
SELECT * FROM `oficinas`
OFICINA CIUDAD REGION DIR OBJETIVO VENTAS
11 CALI OESTE 106 575000 693000
12 IBAGUE ESTE 104 300000 735000
13 ARMENIA ESTE 105 350000 368000
22 POPAYAN OESTE 108 300000 186000
NUL
30 Bogotá centro 100000 0
L
10. Recuperar los precios originales de los productos a partir de la tabla nuevosproductos.
7 filas afectadas. (La consulta tardó 0,0967 segundos.)
UPDATE productos INNER JOIN nuevaproductos ON ( productos.idfab = nuevaproductos.idfab) AN
D (productos.idproducto = nuevaproductos.idproducto) SET productos.precio = nuevaproductos
.precio
Mostrando filas 0 - 24 (total de 25, La consulta tardó 0,0008 segundos.)
SELECT * FROM `productos`
IDFAB IDPRODUCTO DESCRIPCION PRECIO EXISTENCIAS
ACI 41001 ARANDELA 58 277
ACI 41002 BISAGRA 80 167
ACI 41003 ART13 112 207
ACI 41004 ART14 123 139
ACI 4100X JUNTA 26 37
ACI 4100Y EXTRACTOR 2888 25
ACI 4100Z MONT 2625 28
BIC 41003 MANIVELA 652 3
BIC 41089 RODAMIENTO 225 78
BIC 41672 PLATO 180 0
IDFAB IDPRODUCTO DESCRIPCION PRECIO EXISTENCIAS
FEA 112 CUBO 148 115
FEA 114 CUBO 243 15
IMM 773C REOSTATO 975 28
IMM 775C REOSTATO2 1 5
IMM 779C REOSTATO3 1 0
IMM 887H CAJA CLAVOS 54 223
IMM 887P PERNO 25 24
IMM 887X MANIVELA 475 32
QSA XK47 RED 355 38
QSA XK48 RED 134 203
QSA XK48A RED 117 37
REI 2A44G PAS 117 14
REI 2A44I BOMBA I 4 12
REI 2A44R BOMBA R 4 12
REI 2A45C JUNTA 79 210
11. Recuperar las oficinas borradas a partir de la tabla nuevaoficinas.
5 filas insertadas. (La consulta tardó 0,0513 segundos.)
INSERT INTO oficinas SELECT * FROM nuevaoficinas WHERE oficina NOT IN (SELECT oficina FROM
oficinas)
Mostrando filas 0 - 9 (total de 10, La consulta tardó 0,0009 segundos.)
SELECT * FROM `oficinas`
OFICINA CIUDAD REGION DIR OBJETIVO VENTAS
11 CALI OESTE 106 575000 693000
12 IBAGUE ESTE 104 300000 735000
13 ARMENIA ESTE 105 350000 368000
21 BARRANQUILLA NORTE 108 725000 836000
22 POPAYAN OESTE 108 300000 186000
23 BOGOTA CENTRO 108 900000 340000
24 PEREIRA CENTRO 108 750000 150000
OFICINA CIUDAD REGION DIR OBJETIVO VENTAS
NUL
26 CARTAGENA NORTE 400000 0
L
NUL
28 CHOCO ESTE 90000 0
L
NUL
30 Bogotá centro 100000 0
L
12. Recuperar los pedidos borrados en el ejercicio 8 a partir de la tabla nuevapedidos.
5 filas insertadas. (La consulta tardó 0,0461 segundos.)
INSERT INTO pedidos SELECT * from nuevapedidos WHERE rep = 105
Mostrando filas 0 - 29 (total de 30, La consulta tardó 0,0012 segundos.)
SELECT * FROM `pedidos`
NUMPEDID RE PRODUCT
CODIGO FECHAPEDIDO CLIE FAB CANT IMPORTE
O P O
1 110036 1997-01-02 2107 110 ACI 4100Z 9 22500
2 110036 1997-01-02 2117 106 REI 2A44I 7 31500
3 112963 1997-05-10 2103 105 ACI 41004 28 3276
4 112968 1990-01-11 2102 101 ACI 41004 34 3978
5 112975 1997-02-11 2111 103 REI 2A44G 6 2100
6 112979 1989-10-12 2114 108 ACI 4100Z 6 15000
7 112983 1997-05-10 2103 105 ACI 41004 6 702
8 112987 1997-01-01 2103 105 ACI 4100Y 11 27500
9 112989 1997-12-10 2101 106 FEA 114 6 1458
10 112992 1990-04-15 2118 108 ACI 41002 10 760
11 112993 1997-03-10 2106 102 REI 2A45C 24 1896
12 112997 1997-04-04 2124 107 BIC 41003 1 652
13 113003 1997-02-05 2108 109 IMM 779C 3 5625
14 113007 1997-01-01 2112 108 IMM 773C 3 2925
15 113012 1997-05-05 2111 105 ACI 41003 35 3745
16 113013 1997-08-06 2118 108 BIC 41003 1 652
17 113024 1997-07-04 2114 108 QSA XK47 20 7100
18 113027 1997-02-05 2103 105 ACI 41002 54 4104
NUMPEDID RE PRODUCT
CODIGO FECHAPEDIDO CLIE FAB CANT IMPORTE
O P O
19 113034 1997-11-05 2107 110 REI 2A45C 8 632
20 113042 1997-01-01 2113 101 REI 2A44R 5 22500
21 113045 1997-07-02 2112 108 REI 2A44R 10 45000
22 113048 1997-02-02 2120 102 IMM 779C 2 3750
23 113049 1997-04-04 2118 108 QSA XK47 2 776
24 113051 1997-07-06 2118 108 QSA XK47 4 1420
25 113055 1999-04-01 2108 101 ACI 4100X 6 150
26 113057 1997-11-01 2111 103 ACI 4100X 24 600
27 113058 1989-07-04 2108 109 FEA 112 10 1480
28 113062 1997-07-04 2124 107 BIC 41003 10 2430
29 113065 1997-06-03 2106 102 QSA XK47 6 2130
30 113069 1997-08-01 2109 107 IMM 773C 22 31350
13. A los empleados de la oficina 30 asignarles la oficina 21.
2 filas afectadas. (La consulta tardó 0,0566 segundos.)
UPDATE empleados SET oficina = 21 WHERE oficina = 30