100% encontró este documento útil (2 votos)
808 vistas2 páginas

Base de Datos Neptuno

Este documento contiene 10 consultas SQL para extraer información de una base de datos de pedidos. La primera consulta muestra los nombres de los empleados que registraron pedidos entre el 1 y 30 de junio de 1996. La segunda consulta muestra los pedidos y clientes entre el 1 y 30 de mayo de 1996. La tercera consulta muestra el empleado y cliente que realizó un pedido usando Speedy Express.
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 TXT, PDF, TXT o lee en línea desde Scribd
100% encontró este documento útil (2 votos)
808 vistas2 páginas

Base de Datos Neptuno

Este documento contiene 10 consultas SQL para extraer información de una base de datos de pedidos. La primera consulta muestra los nombres de los empleados que registraron pedidos entre el 1 y 30 de junio de 1996. La segunda consulta muestra los pedidos y clientes entre el 1 y 30 de mayo de 1996. La tercera consulta muestra el empleado y cliente que realizó un pedido usando Speedy Express.
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 TXT, PDF, TXT o lee en línea desde Scribd

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

También podría gustarte