1 Devuelve Un Listado Con El Código de Oficina y La Ciudad Donde Hay Oficinas
1 Devuelve Un Listado Con El Código de Oficina y La Ciudad Donde Hay Oficinas
1 Devuelve Un Listado Con El Código de Oficina y La Ciudad Donde Hay Oficinas
MATERIA: (BDL-300)
PARALELO: 3to” c”
GESTION: I/2023
/*1 Devuelve un listado con el código de oficina y la ciudad donde hay
oficinas.*/
use DBjardineria_ROLY
select a.codigo_oficina,a.ciudad
from oficina a
select a.pais,a.ciudad,a.telefono
from oficina a
where a.pais='españa'
/*3 Devuelve un listado con el nombre, apellidos y email de los empleados cuyo
jefe tiene un código de jefe igual a 7.*/
select nombre,apellido1,apellido2,email,codigo_jefe
from empleado
where codigo_jefe='7'
/*4 Devuelve el nombre del puesto, nombre, apellidos y email del jefe de la
empresa.*/
select puesto,nombre,apellido1,apellido2,email
from empleado
where puesto like 'director general'
/*5. Devuelve un listado con el nombre, apellidos y puesto de aquellos
empleados que no sean representantes de ventas.*/
select nombre , apellido1 ,apellido2, puesto
from empleado
where puesto like 'representante ventas'
/*7. Devuelve un listado con los distintos estados por los que puede pasar un
pedido.*/
select codigo_pedido,estado
from pedido
/*8. Devuelve un listado con el código de cliente de aquellos clientes que
realizaron algún pago en 2008. Tenga en cuenta que deberá eliminar
aquellos códigos de cliente que aparezcan repetidos. Resuelva la consulta:*/
select a.codigo_cliente,b.fecha_pago
from cliente a , pago b
where year (fecha_pago )='2008'
/*10. Devuelve un listado de todos los pedidos que fueron rechazados en 2009.*/
select *
from pago
where YEAR(fecha_pago)='2008'
order by fecha_pago
/*13. Devuelve un listado con todas las formas de pago que aparecen en la
tabla pago. Tenga en cuenta que no deben aparecer formas de pago
repetidas.*/
/*15. Devuelve un listado con todos los clientes que sean de la ciudad de Madrid
y
cuyo representante de ventas tenga el código de empleado 11 o 30.*/
select a.codigo_cliente, a.ciudad,b.puesto,b.codigo_empleado
from cliente a, empleado b
where a.ciudad='madrid' and b.puesto='representante ventas'and
b.codigo_empleado='30'
/*consultas multitablas*/
/*1. Obtén un listado con el nombre de cada cliente y el nombre y apellido de su
representante de ventas.*/
select a.nombre_cliente ,b.nombre,b.apellido1,b.apellido2, b.puesto
from cliente a, empleado b
where b.puesto='representante ventas'
/*2. Muestra el nombre de los clientes que hayan realizado pagos junto con el
nombre de sus representantes de ventas.*/
select a.nombre_cliente,c.nombre,b.total,c.puesto
from cliente a ,pago b, empleado c
where c.puesto='representante ventas'
/*3. Devuelve el nombre de los clientes que han hecho pagos y el nombre de sus
representantes junto con la ciudad de la oficina a la que pertenece el
representante.*/
select a.nombre_cliente,c.codigo_oficina,c.nombre,b.total,c.puesto,d.ciudad
from cliente a ,pago b, empleado c, oficina d
where c.puesto='representante ventas'
/*4. Lista la dirección de las oficinas que tengan clientes en la ciudad de
Fuenlabrada.*/
select a.codigo_oficina,a.linea_direccion1,b.ciudad
from oficina a , cliente b
where b.ciudad='fuenlabrada'
/*6. Devuelve un listado con el nombre de los empleados junto con el nombre de
sus jefes.*/
select a.nombre,b.nombre_cliente
from empleado a, cliente b
select a.gama,b.nombre_cliente
from gama_producto a , cliente b
/*10. Devuelve un listado que muestre solamente los empleados que tienen un
cliente asociado junto con los datos de la oficina donde trabajan.*/
select a.nombre,b.nombre_cliente,c.codigo_oficina
from empleado a ,cliente b, oficina c
/*11. Devuelve las oficinas donde trabajan los empleados que hayan sido los
representantes de ventas de algún cliente que haya realizado la compra de
algún producto de la gama Frutales.*/
select a.codigo_empleado_rep_ventas,b.gama
from cliente a ,producto b
where b.gama='frutales'
/*12. Devuelve un listado con los datos de los empleados que no tienen clientes
asociados y el nombre de su jefe asociado.*/
/*consultasresumen*/
/*1. ¿Cuántos empleados hay en la compañía?*/
select COUNT(*) as total_empleados
from empleado;
/*5. Calcula el precio de venta del producto más caro y más barato en una misma
consulta.*/
select max(precio_venta) as Precio_MasCaro, min(precio_venta) as Precio_MasBarato
from producto;
/*8. ¿Calcula cuantos clientes tiene cada una de las ciudades que empiezan por M?
*/
select ciudad, count(*) AS Numero_Clientes
from cliente
where ciudad LIKE 'M%'
group by ciudad;
/*10. Calcula la suma de la cantidad total de todos los productos que aparecen en
cada uno de los pedidos.*/
select p.codigo_pedido, SUM(dp.cantidad) AS Cantidad_Total
from pedido p,detalle_pedido dp
where p.codigo_pedido = dp.codigo_pedido
group by p.codigo_pedido;
/*11. Lista las ventas totales de los productos que hayan facturado más de 3000
euros. Se mostrará el nombre, unidades vendidas, total facturado y total
facturado.*/
/*12. Muestre la suma total de todos los pagos que se realizaron para cada uno de
los años que aparecen en la tabla pagos.*/
select YEAR(fecha_pago) as año, SUM(total) as total_pagos
from pago
group by YEAR(fecha_pago)
/*SUBCONSULTAS*/
/*1. Devuelve el nombre del cliente con mayor límite de crédito.*/
select nombre_cliente as cliente_CON_MAYOR_CREDITO
from cliente
/*2. Devuelve el nombre del producto que tenga el precio de venta más caro.*/
select nombre as PRODUCTO_MAS_CARO
from producto
where precio_venta = (select MAX(precio_venta) from producto)
/*3. Devuelve el nombre del producto del que se han vendido más unidades.
(Tenga en cuenta que tendrá que calcular cuál es el número total de unidades
que se han vendido de cada producto a partir de los datos de la
tabla detalle_pedido)*/
select nombre as PRODUCTO_MASVENDIDO,codigo_producto
from producto
where codigo_producto = ( select top 1 codigo_producto
from detalle_pedido group by codigo_producto order by SUM(cantidad) desc)
/*4. Los clientes cuyo límite de crédito sea mayor que los pagos que haya
realizado.*/
select nombre_cliente as nombre_client_lim_mayor_pagos
from cliente
where limite_credito > ( select SUM(total) from pago where pago.codigo_cliente =
cliente.codigo_cliente
)
/*7. Devuelve el nombre, los apellidos y el email de los empleados que están a
cargo de Alberto Soria.*/
select nombre, apellido1, apellido2, email
from empleado
where codigo_jefe = ( select codigo_empleado from empleado
where nombre = 'Alberto' AND apellido1 = 'Soria'
)