Nothing Special   »   [go: up one dir, main page]

1 Devuelve Un Listado Con El Código de Oficina y La Ciudad Donde Hay Oficinas

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 14

PRACTICA DE BDL

ESTUDIANTE: Alejo Mamani Limbert Roly

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

/*2 Devuelve un listado con la ciudad y el teléfono de las oficinas de Españ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'

/*6.Devuelve un listado con el nombre de los todos los clientes españoles.*/


select nombre_cliente, pais
from cliente
where pais like'spain'

/*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'

/*9. Devuelve un listado con el código de pedido, código de cliente, fecha


esperada y fecha de entrega de los pedidos que no han sido entregados a
tiempo.*/
select a.codigo_pedido,a.codigo_pedido,a.fecha_esperada,a.fecha_entrega,a.estado
from pedido a
where a. estado ='pendiente'

/*10. Devuelve un listado de todos los pedidos que fueron rechazados en 2009.*/

select * /*codigo_pedido, estado*/


from pedido
where year (fecha_entrega)='2009' and estado='rechazado'
/*11. Devuelve un listado de todos los pedidos que han sido entregados en el
mes de enero de cualquier año.*/
select *
from pedido
where MONTH (fecha_entrega)='1'and estado='entregado'

/*12. Devuelve un listado con todos los pagos que se realizaron en el


año 2008 mediante Paypal. Ordene el resultado de mayor a menor.*/

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.*/

select count (*)as paypal


from pago a
where a.forma_pago ='paypal'
/*14. Devuelve un listado con todos los productos que pertenecen a la
gama Ornamentales y que tienen más de 100 unidades en stock. El listado
deberá estar ordenado por su precio de venta, mostrando en primer lugar
los de mayor precio.*/
select a.gama,c.cantidad_en_stock,b.precio_unidad
from gama_producto a,detalle_pedido b,producto c
where a.gama ='ornamentales'and c.cantidad_en_stock>100

/*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'

/*5. Devuelve el nombre de los clientes y el nombre de sus representantes junto


con la ciudad de la oficina a la que pertenece el representante.*/

select a.nombre_cliente,b.nombre,c.ciudad ,c.codigo_oficina,b.puesto


from cliente a , empleado b, oficina c
where b.puesto='representante ventas'

/*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

/*7. Devuelve un listado que muestre el nombre de cada empleado, el nombre de


su jefe y el nombre del jefe de sus jefe.*/

/*8.Devuelve el nombre de los clientes a los que no se les ha entregado a tiempo


un pedido.*/
select a.nombre_cliente, b.comentarios,b.estado
from cliente a, pedido b
where b.estado='pendiente'

/*9. Devuelve un listado de las diferentes gamas de producto que ha comprado


cada cliente.*/

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;

/*2. ¿Cuántos clientes tiene cada país?*/


select pais, COUNT(*) as total_clientes
from cliente
group by pais;

/*3. ¿Cuál fue el pago medio en 2009?*/


select avg(total) as Pago_2009
from pago
where year(fecha_pago) = 2009;

/*4. ¿Cuántos pedidos hay en cada estado? Ordena el resultado de forma


descendente por el número de pedidos.*/
select estado, count(*) as Numero_Pedidos
from pedido
group by estado
order by Numero_Pedidos desc;

/*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;

/*6. Calcula el número de clientes que tiene la empresa.*/


select count(*) as Numero_Clientes
from cliente;

/*7. ¿Cuantos clientes existen con domicilio en la ciudad de Madrid?*/


select count(*) AS Numero_Clientes_Madrid
from cliente
where ciudad = 'Madrid'

/*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;

/*9. Devuelve el nombre de los representantes de ventas y el número de clientes


al
que atiende cada uno.*/
select e.nombre as Nombre_Representante, COUNT(*) as Numero_Clientes
from cliente c ,empleado e
where c.codigo_empleado_rep_ventas = e.codigo_empleado
group by e.nombre;

/*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
)

/*5. Devuelve el producto que más unidades tiene en stock.*/


select nombre as nombre_product_max_stock
from producto
where cantidad_en_stock = ( select MAX(cantidad_en_stock) from producto)

/*6. Devuelve el producto que menos unidades tiene en stock.*/


select nombre as nombre_product_min_stock
from producto
where cantidad_en_stock = ( select MIN(cantidad_en_stock) from producto)

/*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'
)

También podría gustarte