go
use neptuno
go
/*1. Mostrar apellidos y nombres de los empleados que registraron pedidos entre
�01/06/1996� y
�30/06/1996�, ordenados por apellidos*/
SELECT (E.Apellidos + ' ' + E.Nombre) as NOMBRECOMPLETO, P.FechaPedido from
Empleados as E
inner join Pedidos as P
on P.IdEmpleado = E.IdEmpleado
where P.FechaPedido between '1996-06-01' and '1996-06-30' order by NOMBRECOMPLETO
asc
/*2. Mostrar los pedidos realizados con sus respectivos montos, as� como tambi�n
los clientes
que realizaron esos pedidos entre �01/05/1996� y �30/05/1996�s*/
select C.NombreCompa�ia as cliente,
sum(D.cantidad*D.preciounidad-D.descuento) as Monto
from Pedidos P inner join Clientes C on P.IdCliente = C.idCliente
inner join detallesdepedidos D on D.idpedido = P.IdPedido
where P.FechaPedido between '1996-05-01' and '1996-05-30'
group by C.NombreCompa�ia
/*3. Mostrar el empleado y el cliente que realizo pedido haciendo uso de la forma
de envi� es
Speedy Express.*/
SELECT (E.Apellidos + ' ' + E.Nombre) as NombreEmpleado, C.NombreCompa�ia as
NombreCliente, P.FechaPedido, P.FormaEnvio, CE.nombreCompa�ia
from Pedidos as P
inner join Empleados as E
on P.IdEmpleado = E.IdEmpleado
inner join clientes as C
on P.IdCliente = C.idCliente
inner join compa�iasdeenvios as CE
on CE.idCompa�iaEnvios = P.FormaEnvio
where CE.nombreCompa�ia = 'Speedy Express'
/*4. Mostrar todos los productos de una determinada letra.*/
select *
from productos as P
where P.nombreProducto like 'a%'
GO
/*EXTRA: Mostrar todos los productos con un rango de 0 a 10 en e precio de unidad*/
select *
from productos as P
where P.precioUnidad >= 0 and P.precioUnidad <10 order by P.precioUnidad asc
GO
/*5. Mostrar nombres y apellidos de los empleados que registraron pedidos y que no
sean
�Vicepresidente comercial� ni �Coordinador ventas interno�.*/
select E.Nombre, E.Apellidos , E.cargo
from Empleados as E
inner join Pedidos as P
on E.IdEmpleado = P.IdEmpleado
where not E.cargo = 'Vicepresidente comercial' and not E.cargo = 'Coordinador
ventas interno'
go
/*6. Mostrar una estad�stica de por cada a�o el importe total de los pedidos.*/
select YEAR(P.FechaPedido) as Fecha, sum(D.cantidad*D.preciounidad-D.descuento) as
Monto
from Pedidos as P
inner join detallesdepedidos as D
on P.IdPedido = D.idpedido
where YEAR(P.FechaPedido)=1995
group by P.FechaPedido
go
/*falta importe total del pedido por a�o*/
/*7. Mostrar los pedidos realizados en el a�o 1997. */
select *
from Pedidos as P
where YEAR(P.FechaPedido)=1997
GO
/*8. Mostrar todos productos que han registrado descuentos al momento de realizar
un pedido
en el a�o 1998. */
select P.IdPedido, D.descuento
from Pedidos as P
inner join detallesdepedidos as D
on P.IdPedido = D.idpedido
where YEAR(P.FechaPedido)=1998 and D.descuento >0
GO
/*9. Mostrar la relaci�n de empleados con sus respectivas cantidad de pedidos
realizados. */
/*PRIMERA FORMA*/
select (E.Nombre + ' ' + E.Apellidos) as EMPLEADO , count(p.IdPedido) as cantidad
from Pedidos as P
inner join Empleados E
on P.IdEmpleado = E.IdEmpleado
group by E.Nombre, E.Apellidos
go
/*SEGUNDA FORMA*/
select E.Nombre, count(p.IdPedido) as cantidad
from Pedidos as P
inner join Empleados E
on P.IdEmpleado = E.IdEmpleado
group by E.Nombre
go
/* 10. Mostrar los clientes que sean del pa�s de �Alemania� y que tengan fax. */
select CL.idCliente, CL.NombreCompa�ia, CL.Fax, CL.Pais
from clientes as CL
where not CL.Fax = 'NULL' and CL.Pais = 'Alemania'
go