Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
ACTIVIDAD #5
SUBCONSULTAS SERVER
ALUMNO:
MARIO A. SAAVEDRA MÉRIDA
/*1 Listar los nombres de los clientes que tienen asignado el representante
Alvaro Jaumes (suponiendo que no puede haber representantes duplicados con el
mismo nombre y apellido).*/
SELECT clientes.nombre
FROM clientes INNER JOIN empleados ON clientes.repclie = empleados.numemp
WHERE empleados.nombre='Alvaro Jaumes'
SELECT nombre
FROM clientes
WHERE repclie = ANY (SELECT numemp FROM empleados WHERE nombre = 'Alvaro Jaumes'
);
/*3 Listar los vendedores que no trabajan en oficinas dirigidas por el empleado
108.*/
/*4 Mostrar todas las oficinas cuyos objetivos de ventas superan el promedio de
los objetivos planteados en todas las oficinas.*/
SELECT oficina
FROM oficinas
WHERE oficinas.ventas >(SELECT AVG(objetivo)FROM oficinas)
/*5 Mostrar numemp, nombre de los empleados con el importe máximo de todos los
pedidos en los
cuales han sido representante de ventas.*/
SELECT e.numemp,e.nombre,MAX(importe) AS Max_Imp
FROM empleados e INNER JOIN pedidos ON numemp=rep
WHERE e.numemp IS NOT NULL
GROUP BY e.numemp,e.nombre
SELECT numemp, nombre, (SELECT MAX(importe) FROM pedidos WHERE numemp = rep) AS
impmax
FROM empleados
WHERE (SELECT MAX(importe) FROM pedidos WHERE numemp = rep) IS NOT NULL
/*6 Listar los datos de los clientes y de cada uno mostrar el importe máximo de
todas sus líneas de pedidos que ha realizado.*/
Como en estos ejercicios vamos a modificar los valores almacenados en la base de datos,
es conveniente guardar antes una copia de las tablas y sobre ellas se realizarán los cambios
de datos. En los cuatro primeros ejercicios crearemos una copia de los datos almacenados
para luego poder recuperar los valores originales.
/*1 Crear una tabla (llamarla nuevaempleados) que contenga las filas de la tabla
empleados.*/
SELECT * INTO nuevaempleados FROM empleados
SELECT * FROM nuevaempleados
/*2 Crear una tabla (llamarla nuevaoficinas) que contenga las filas de la tabla
oficinas.*/
SELECT * INTO nuevaoficinas FROM oficinas
SELECT * FROM nuevaoficinas
/*3 Crear una tabla (llamarla nuevaproductos) que contenga las filas de la tabla
productos.*/
SELECT * INTO nuevaproductos FROM productos
SELECT * FROM nuevaproductos
/*4 Crear una tabla (llamarla nuevapedidos) que contenga las filas de la tabla
pedidos.*/
SELECT * INTO nuevapedidos FROM pedidos
SELECT * FROM nuevapedidos
/*6 En la tabla nuevaoficinas 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.*/
/*7 En la tabla nuevaempleados insertar un nuevo empleado con código 210 llamado
Mario Lopez, de 50 años,
sin oficina asignada, título representante, contratado en fecha 21/02/2000, con
el jefe Jose Gonzales,
cuota de 200000 y ventas cero.*/