0% encontró este documento útil (0 votos)
117 vistas3 páginas

Consultas y Actualizaciones SQL Esenciales

Este documento presenta ejercicios de SQL sobre subconsultas y actualización de datos. En el tema 5 se muestran 8 ejemplos de subconsultas para seleccionar datos de diferentes tablas basadas en condiciones. En el tema 6 se presentan 10 ejemplos de actualización de datos usando comandos como SELECT INTO, INSERT, UPDATE y DELETE para modificar registros en tablas.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
117 vistas3 páginas

Consultas y Actualizaciones SQL Esenciales

Este documento presenta ejercicios de SQL sobre subconsultas y actualización de datos. En el tema 5 se muestran 8 ejemplos de subconsultas para seleccionar datos de diferentes tablas basadas en condiciones. En el tema 6 se presentan 10 ejemplos de actualización de datos usando comandos como SELECT INTO, INSERT, UPDATE y DELETE para modificar registros en tablas.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Nombre: Luba Carolina Narváez Erazo

Código: 1088354080

TALLER SQL CAP. 5 Y 6.

Tema 5. Las subconsultas (I)


1 Listar los nombres de los clientes que tienen asignado el representante Alvaro Jaumes
(suponiendo que no pueden haber representantes con el mismo nombre).

SELECT nombre FROM clientes


WHERE repclie = (SELECT numemp FROM empleados WHERE nombre = 'Alvaro
Jaumes' )

2 Listar los vendedores (numemp, nombre, y nº de oficina) que trabajan en oficinas


"buenas" (las que tienen ventas superiores a su objetivo).

SELECT numemp, nombre, oficina


FROM empleados
WHERE oficina IN ( SELECT oficina FROM oficinas WHERE ventas > objetivo );

3 Listar los vendedores que no trabajan en oficinas dirigidas por el empleado 108.

SELECT numemp, nombre, oficina


FROM empleados
WHERE NOT EXISTS ( SELECT * FROM oficinas WHERE empleados.oficina =
oficinas.oficina AND dir = 108);

4 Listar los productos (idfab, idproducto y descripción) para los cuales no se ha recibido
ningún pedido de 25000 o más.

SELECT idfab, idproducto, descripcion


FROM productos
WHERE NOT EXISTS (SELECT * FROM pedidos WHERE fab = idfab AND producto =
idproducto AND importe >= 25000);

5 Listar los clientes asignados a Ana Bustamante que no han remitido un pedido superior
a 3000 Pts.

SELECT numclie, nombre


FROM clientes
WHERE repclie IN ( SELECT numemp FROM empleados WHERE nombre = 'Ana
Bustamante' )
AND numclie NOT IN ( SELECT clie FROM pedidos WHERE importe > 3000 AND clie IS
NOT NULL)
6 Listar las oficinas en donde haya un vendedor cuyas ventas representen más del 55%
del objetivo de su oficina.

SELECT *
FROM oficinas
WHERE EXISTS ( SELECT * FROM empleados WHERE
empleados.oficina=oficinas.oficina AND ventas > objetivo * 0.55);

7 Listar las oficinas en donde todos los vendedores tienen ventas que superan al 50% del
objetivo de la oficina.

SELECT *
FROM oficinas
WHERE (objetivo * .5) <= (SELECT MIN(ventas) FROM empleados WHERE
empleados.oficina = oficinas.oficina);

8 Listar las oficinas que tengan un objetivo mayor que la suma de las cuotas de sus
vendedores.

SELECT *
FROM oficinas
WHERE objetivo > ( SELECT SUM(cuota) FROM empleados WHERE empleados.oficina
= oficinas.oficina);

Ejercicios tema 6. Actualización de datos

1 Crear una tabla (llamarla nuevaempleados) que contenga las filas de la tabla
empleados.

SELECT * INTO nuevaempleados


FROM empleados;

2 Crear una tabla (llamarla nuevaoficinas) que contenga las filas de la tabla oficinas.

SELECT * INTO nuevaoficinas


FROM oficinas;

3 Crear una tabla (llamarla nuevaproductos) que contenga las filas de la tabla productos.

SELECT * INTO nuevaproductos


FROM productos;

4 Crear una tabla (llamarla nuevapedidos) que contenga las filas de la tabla pedidos.

SELECT * INTO nuevapedidos


FROM pedidos;

5 Subir un 5% el precio de todos los productos del fabricante ACI.

UPDATE productos SET precio = precio * 1.05 WHERE idfab = 'ACI';


6 Añadir una nueva oficina para la ciudad de Madrid, con el número de oficina 30, con un
objetivo de 100000 y región Centro.

INSERT INTO oficinas (oficina,region,ciudad,dir,objetivo,ventas)


VALUES (30, 'centro', 'Madrid', null, 100000,0) ;

7 Cambiar los empleados de la oficina 21 a la oficina 30.

UPDATE empleados SET oficina = 30 WHERE oficina = 21;

8 Eliminar los pedidos del empleado 105.

DELETE FROM pedidos WHERE rep = 105;

9 Eliminar las oficinas que no tengan empleados.

DELETE FROM oficinas WHERE oficina NOT IN (SELECT oficina


FROM empleados WHERE oficina IS NOT NULL) ;

10 Recuperar los precios originales de los productos a partir de la tabla nuevosproductos.

UPDATE productos INNER JOIN nuevaproductos


ON ( productos.idfab = nuevaproductos.idfab) AND (productos.idproducto =
nuevaproductos.idproducto)
SET productos.precio = nuevaproductos.precio;

También podría gustarte