Está en la página 1de 6

FACULTAD DE INGENIERÍA

ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS

Laboratorio 02 - SQL STATEMENTS.

AUTORES:
Ipanaque Maza, Álvaro Manuel
Quiroz Quispe, Alejandro
Roncal Huamán, Asaf Dan
Rosales Condori, Ricardo Rolando
Torres Colan, Karen Andrea
Vilca Quispe, William Frank

ASESOR:
Dr. Daza Vergaray, Alfredo

Experiencia curricular:
Business Intelligence and Big Data

LIMA – PERÚ
2022
1. Total facturado. Agrupado por categorías para el año 1996
Select C.CategoryName As Categorías, SUM(iif(Year(O.OrderDate) = 1996, OD.UnitPrice
* OD.Quantity, 0)) As [Ventas (1996)],
SUM (OD.UnitPrice * OD.Quantity) As [Grand total]
From Products As P Inner join Categories As C On P.CategoryID = C.CategoryID Inner
join [Order Details] As OD
On OD.ProductID = P.ProductID Inner join Orders As O On Od.OrderID = O.OrderID
Group by CategoryName

2. Comparación del total facturado. Agrupados por categorías para el año 1996 y
1998
Select C.CategoryName As Categorías, SUM(iif(Year(O.OrderDate) = 1996, OD.UnitPrice
* OD.Quantity, 0)) As [Ventas (1996)],
SUM(iif(Year(O.OrderDate) = 1998, OD.UnitPrice * OD.Quantity, 0)) As [Ventas
(1998)],
SUM (OD.UnitPrice * OD.Quantity) As [Grand total]
From Products As P Inner join Categories As C On P.CategoryID = C.CategoryID Inner
join [Order Details] As OD
On OD.ProductID = P.ProductID Inner join Orders As O On Od.OrderID = O.OrderID
Group by CategoryName

1
3. Comparación del total facturado. Agrupados por categorías (grano/cereal y
carnes/aves) para el año 1996 y 1998. Además, podemos observar el detalle de la
categoría carnes/aves
Select T3.Categorías, T2.Categorías, T2.ProductName, T1.[Ventas (1996)], T2.[Ventas
(1998)], T3.[Ventas (1996)], T4.[Ventas (1998)] From
(Select C.CategoryName As Categorías, P.ProductName, SUM(OD.UnitPrice * OD.Quantity) As
[Ventas (1996)]
From Categories As C inner join Products As P On C.CategoryID = P.CategoryID inner join
[Order Details] As OD
On OD.ProductID = P.ProductID inner join Orders As O On O.OrderID = OD.OrderID
Where (Year(O.OrderDate) = 1996) and (C.CategoryName In('Meat/Poultry'))
Group by C.CategoryName, P.ProductName)T1
Full Outer join
(Select C.CategoryName As Categorías, P.ProductName, SUM(OD.UnitPrice * OD.Quantity) As
[Ventas (1998)]
From Categories As C inner join Products As P On C.CategoryID = P.CategoryID inner join
[Order Details] As OD
On OD.ProductID = P.ProductID inner join Orders As O On O.OrderID = OD.OrderID
Where (Year(O.OrderDate) = 1998) and (C.CategoryName In('Meat/Poultry'))
Group by C.CategoryName, P.ProductName)T2 On T1.ProductName = T2.ProductName
Full Outer join
(Select C.CategoryName As Categorías, SUM(OD.UnitPrice * OD.Quantity) As [Ventas (1996)]
From Categories As C inner join Products As P On C.CategoryID = P.CategoryID inner join
[Order Details] As OD
On OD.ProductID = P.ProductID inner join Orders As O On O.OrderID = OD.OrderID
Where (Year(O.OrderDate) = 1996) and (C.CategoryName In('Grains/Cereals', 'Meat/Poultry'))
Group by C.CategoryName)T3 On T3.[Ventas (1996)] = T1.[Ventas (1996)]
Full Outer join
(Select C.CategoryName As Categorías, SUM(OD.UnitPrice * OD.Quantity) As [Ventas (1998)]
From Categories As C inner join Products As P On C.CategoryID = P.CategoryID inner join
[Order Details] As OD
On OD.ProductID = P.ProductID inner join Orders As O On O.OrderID = OD.OrderID
Where (Year(O.OrderDate) = 1998) and (C.CategoryName In('Grains/Cereals', 'Meat/Poultry'))
Group by C.CategoryName)T4 On T3.Categorías = T4.Categorías

2
4. Total facturado. Agrupado por años
Select * From
(Select Year(O.OrderDate) As Año, SUM(OD.UnitPrice * OD.Quantity) As [Ventas]
From Orders As O inner join [Order Details] As OD On O.OrderID = OD.OrderID
Group by Year(O.OrderDate))T1
Full Outer join
(Select SUM(OD.UnitPrice * OD.Quantity) As [Venta total]
From Orders As O inner join [Order Details] As OD On O.OrderID = OD.OrderID)
T2 On T1.Ventas = T2.[Venta total]

5. Comparación del total facturado. Agrupado por años en los países de Alemania y
Brasil de la categoría carnes/aves.
Select Year(O.OrderDate) As Año, C.CategoryName As Categoría, O.ShipCountry As [País
de envío],
SUM(OD.UnitPrice * OD.Quantity) As Ventas
From Categories As C inner join Products As P On C.CategoryID = P.CategoryID inner
join [Order Details] As OD
On OD.ProductID = P.ProductID inner join Orders As O On O.OrderID = OD.OrderID
Where O.ShipCountry In('Germany', 'Brazil') and C.CategoryName = 'Meat/Poultry'
Group by Year(O.OrderDate), C.CategoryName, O.ShipCountry
Order by O.ShipCountry DESC, Year(O.OrderDate) DESC

3
6. Hallar la antigüedad en años de cada empleado de la empresa.
Select Concat(E.LastName, ', ', E.FirstName) As Empleado, DATEDIFF(YEAR, E.HireDate,
GETDATE())
-(CASE
WHEN DATEADD(YY, DATEDIFF(YEAR, E.HireDate, GETDATE()), E.HireDate) > GETDATE()
THEN
1
ELSE
0
END) as [Años de antiguedad]
From Employees E

7. Indique qué producto se vende más.


SELECT TOP 1 OD.ProductID, P.ProductName , SUM(OD.Quantity) AS Vendido

FROM [Order Details] As OD inner join Products As P On OD.ProductID = P.ProductID

GROUP by OD.ProductID, P.ProductName

Order by SUM(OD.Quantity) Desc

4
8. Encuentre el producto que no se vendió en el primer trimestre del año 1997, con
referencia al maestro de producto.
Select P.ProductID, P.ProductName
From Products As P
Where Not Exists(
Select 1
From [Order Details] As OD Inner join Orders As O On OD.OrderID = O.OrderID
Where OD.ProductID = P.ProductID
AND (O.OrderDate >= '1997-01-01T00:00:00.000' AND
O.OrderDate <= '1997-03-31T00:00:00.000'))

También podría gustarte