Está en la página 1de 8

USANDO LA BASE DE DATOS NORTHWIND, REALIZAR LAS SIGUIENTESCONSULTAS:

Escribir la sentencia SQL en el cuadro

1. Visualizar el máximo y mínimo precio de los productos por proveedor, mostrar el


nombre de la compañía proveedora.

SELECT s.SupplierID, s.CompanyName, max (p.UnitPrice) as maximo,


MIN (p.UnitPrice) as minimo
FROM Suplliers as s
INNER JOIN dbo.Products as p on s.SupplierID = s.SupplierID
group by s.SupplierID,s.CompanyName

2. Seleccionar las categorías que tengan más de 5 productos. Mostrar el nombre


de lacategoría y el número de productos.

SELECT c.CategoryID, c.CategoryName, COUNT (p.QuantityPerUnit)


FROM dbo.Categories as c
INNER JOIN dbo.Products as p on c.CategoryID = p.CategoryID
group by c.CategoryID,c.CategoryName
HAVING COUNT (p.QuantityPerUnit) > '5'
3. Calcular cuántos clientes existen en cada País.

SELECT pais , COUNT (pais) as numero de clientes


From dbo.Customers
group by pais

4. Calcular el stock total de los productos por cada categoría. Mostrar el nombre de la
categoría y el stock por categoría.

SELECT c.CategoryName, COUNT (p.UnitslnStock)as cant_cateogria


FROM dbo.Categories as c
INNER JOIN dbo.Products as p on c.CategoryID = p.CategoryID
group by CategoryName
5. Calcular el stock total de los productos por cada categoría. Mostrar el nombre de la
categoría y el stock por categoría. Solamente las categorías 2, 5 y 8.
SELECT CategoryName, c.CategoryID ,SUM(P.UnitsInStock)
FROM Categories AS C
INNER JOIN Products AS P
ON C.CategoryID=P.CategoryID
where c.CategoryID in (2,5,8)
GROUP BY c.CategoryID, CategoryName where c.CategoryID in (2,5,8)
GROUP BY c.CategoryID, CategoryName
6. Obtener el nombre del cliente, nombre de proveedor, nombre del empleado y el
nombre de los productos que están en la orden 10250.
select c.ContactName,s.ContactName, e.FirstName, p.ProductName,
o.OrderID
from orders as o
inner join Employees as e on e.EmployeeID=o.EmployeeID
inner join Customers as c on c.CustomerID = o.CustomerID
inner join [Order Details] as od on od.OrderID=o.OrderID
inner join Products as p on p.ProductID=od.ProductID
inner join Suppliers as s on s.SupplierID=p.SupplierID
where o.OrderID = 10250

7. Mostrar el número de ordenes realizadas de cada uno de los clientes por año.

SELECT C.companyname, COUNT (O.orderid) as [Cantidad de pedidos], YEAR


(O.orderdate)
From Customers as c
inner join Orders as o on o.CustomerID=c.CustomerID
group by year (o.OrderDate), c.CompanyName
8. Mostrar el número de órdenes realizadas de cada uno de los clientes por cada mes y
año.
select c.ContactName as cliente,COUNT( o.OrderID) as [numero de
ordenes],
MONTH(o.OrderDate) as mes,YEAR( o.OrderDate) as año
from Customers as c inner join orders as o on o.CustomerID=c.CustomerID
group by c.ContactName, month(o.OrderDate), YEAR( o.OrderDate)
9. Contar el número de órdenes que se han realizado por año y meses.

Select COUNT(o.OrderID) as [Numero de ordenes],


MONTH(o.OrderDate) as mes,YEAR(o.OrderDate) as año
from orders as o group by MONTH(o.OrderDate),YEAR(o.OrderDate)

10. Seleccionar el nombre de la compañía del cliente, el código de la orden de compra, la


fecha de la orden de compra, código del producto, cantidad pedida del producto, nombre
del producto, el nombre de la compañía proveedora y la ciudad del proveedor.

select c.CompanyName as cliente, o.OrderID,o.OrderDate,p.ProductID ,


odr.Quantity,p.ProductName as proveedor,s.CompanyName,s.City
from customers as c inner join Orders as o on o.CustomerID=c.CustomerID
inner join [Order Details] as odr on odr.OrderID=o.OrderID
inner join Products as p on p.ProductID=odr.ProductID
inner join Suppliers as s on s.SupplierID=p.SupplierID
11. Seleccionar el nombre de la compañía del cliente, nombre del contacto, el código dela
orden de compra, la fecha de la orden de compra, código del producto, cantidad pedida
del producto, nombre del producto y el nombre de la compañía proveedora,usar Join.
Solamente las compañías proveedoras que comienzan con la letra de la A hasta la letra
G, además la cantidad pedida del producto debe estar entre 18 y 190.

select c.CompanyName,c.ContactName as contacto,


o.OrderID,o.OrderDate,pd.ProductID ,
od.Quantity,pd.ProductName as proveedor,su.CompanyName
from customers as c
inner join Orders as o on o.CustomerID=c.CustomerID
inner join [Order Details] as od on od.OrderID=o.OrderID
inner join Products as pd on pd.ProductID=od.ProductID
inner join Suppliers as su on su.SupplierID=pd.SupplierID
where (c.CompanyName like '[a-g]%')and od.Quantity between 18 and 190
order by c.CompanyName
12. Mostrar el nombre de la orden, la fecha de la orden y el total en soles de cada orden.

select o.CustomerID,o.OrderDate,odr.Quantity*odr.UnitPrice as total


from orders as o inner join [Order Details] as odr on
odr.OrderID=o.OrderID

También podría gustarte