Professional Documents
Culture Documents
LABORATOR 1
1. Krijoni nje view ku te afishohen Produkti dhe totali i zbritur i shitjeve te produkteve, per
kategorine Seafood dhe vitin 1998
create view Total_Product as (
SELECT ProductName,Total=round(SUM(OD.Quantity * (1-OD.Discount) *
OD.UnitPrice),2)
FROM [Order Details] OD, Orders O, Products P, Categories C
WHERE OD.OrderID = O.OrderID
AND OD.ProductID = P.ProductID
AND P.CategoryID = C.CategoryID
AND C.CategoryName = 'Seafood'
AND year(O.OrderDate) = '1998'
GROUP BY ProductName)
3. Krijoni nje view ku te afishohen produkti dhe shuma e sasive qe ka bere porosi klienti me
ID ERNSH (te perdoret view e krijuar tek ushtrimi 1)
create view Customer_TotalProduct as (
SELECT C.CustomerID, p.productName,p.total
FROM Total_Product P,
[Order Details] OD,
Orders O,
Customers C
WHERE C.CustomerID = 'ERNSH'
AND C.CustomerID = O.CustomerID AND O.OrderID = OD.OrderID AND OD.ProductID =
P.ProductID)
4. Krijoni nje view ku te shfaqni te gjithe klientet dhe furnitoret perkatesisht fushat City,
CompanyName, ContactName, Tipi
create view Customers_Suppliers as (
SELECT City, CompanyName, ContactName, 'Customers' AS Tipi
1
Baze te dhenash Arinela Anamali Dt 24/03/2020
FROM Customers
UNION
SELECT City, CompanyName, ContactName, 'Suppliers' as Tipi
FROM Suppliers
)
6. Krijoni nje view ku te shfaqni listen e produkteve me cmimet, te cilet kane cmimet me te
medha se mesatarja e cmimive te produkteve (perdorni view me lart)
create view AvgPriceProd as SELECT ProductName, UnitPrice
FROM dbo.Products
WHERE (UnitPrice >
(select avgprice From AvgPrice))
7. Krijoni nje view ku te shfaqen klientet qe kane bere bere porosi gjate vitit 1998,
perkatesisht fushat CustomerID, CompanyName, City, Country
create view Custoners1998 as (SELECT DISTINCT Customers.CustomerID,
Customers.CompanyName, Customers.City, Customers.Country
FROM Customers INNER JOIN
Orders ON Customers.CustomerID = Orders.CustomerID
WHERE year(Orders.OrderDate) = '1998')
2
Baze te dhenash Arinela Anamali Dt 24/03/2020
10. Krijoni nje view ku te afishoni Kategorine e produktit dhe numrin e porosive te bera nga
punonjesit qe jetojne ne USA
create view CategoryOrdersUSA as (
SELECT Categories.CategoryName, COUNT(Orders.OrderID) AS NR
FROM Orders INNER JOIN
[Order Details] ON Orders.OrderID = [Order Details].OrderID
INNER JOIN
Products ON [Order Details].ProductID = Products.ProductID
INNER JOIN
Categories ON Products.CategoryID = Categories.CategoryID
INNER JOIN
Employees ON Orders.EmployeeID = Employees.EmployeeID
WHERE (Employees.Country = N'USA')
GROUP BY Categories.CategoryName)
11. Krijoni nje view ku te afishoni listen e emrave te punonjesve qe kane bere porosi me
produktin me emer 'Chai '
create view EmployeeProduct as
(SELECT distinct Products.ProductName, Employees.FirstName + ' ' +
Employees.LastName as Emri
FROM Orders INNER JOIN
[Order Details] ON Orders.OrderID = [Order Details].OrderID
INNER JOIN
Products ON [Order Details].ProductID = Products.ProductID
INNER JOIN
Employees ON Orders.EmployeeID = Employees.EmployeeID
WHERE (Products.ProductName = N'CHAI'))
12. Krijoni nje view ku te afishoni produktet me 5 sasite me te medha qe jane porositur gjate
vitit 1998 nga furnitoret
create view TopFiveProducts as (
SELECT TOP 5 a.ProductID,
ProductName,
CompanyName AS Supplier,
SUM(quantity) AS quantity_ordered
FROM [order details] a INNER JOIN products b
ON a.productid = b.productid
INNER JOIN suppliers c ON c.supplierid = b.supplierid
INNER JOIN orders d ON d.orderid = a.orderid
AND DATEPART(YEAR, OrderDate)= 1998
GROUP BY a.productid, productname, CompanyName
order by SUM(quantity) desc)
13. Modifikoni view duke shtuar kriterin qe shuma e sasive te produkteve te jete me e madhe
se 450.
alter view TopFiveProducts as(
SELECT TOP 5 a.ProductID,
ProductName,
3
Baze te dhenash Arinela Anamali Dt 24/03/2020
CompanyName AS Supplier,
SUM(quantity) AS quantity_ordered
FROM [order details] a INNER JOIN products b
ON a.productid = b.productid
INNER JOIN suppliers c ON c.supplierid = b.supplierid
INNER JOIN orders d ON d.orderid = a.orderid
AND DATEPART(YEAR, OrderDate)= 1998
GROUP BY a.productid, productname, CompanyName
having SUM(quantity) >450
order by SUM(quantity) desc)
14. Krijoni nje view ku te afishoni emrat e punonjesve, vitet e punesimit per ata qe jane te
punesuar per me shume se 27 vite.
create view TopEmployee as
(select EmployeeID, FirstName, LastName, HireDate , DATEDIFF(year, HireDate ,
GETDATE()) as Years
from Employees where DATEDIFF(year, HireDate , GETDATE()) > 27)
15. Krijoni nje view ku te shfaqni te gjithe produktet, cmimin dhe rajonin e furnitorit te cilet
nuk kane furniture nga rajoni i USA.
create view SuppliersNotUSA as (SELECT productname, unitprice, suppliers.Region
from products inner join
suppliers on products.supplierID=suppliers.supplierID where suppliers.region
<>'USA')
INSERT INTO
parts(part_id, part_name)
VALUES
(1,'Frame'),
(2,'Head Tube'),
4
Baze te dhenash Arinela Anamali Dt 24/03/2020
(3,'Handlebar Grip'),
(4,'Shock Absorber'),
(5,'Fork');
INSERT INTO
Users (first_name,last_name,email)
VALUES
('Andrea','Torres','student1@fshn.info'),
('Anita','Taras','student2@fshn.info'),
('John','Muko','student6@fshn.info'),
('Micky','Liro','student5@fshn.info'),
('Albert','Trini','student3@fshn.info')
5
Baze te dhenash Arinela Anamali Dt 24/03/2020
update users
set phone = '(281) 363-3309'
where Users.users_id = 2;
update users
set phone = '(281) 363-3310'
where Users.users_id = 3;
update users
set phone = '(281) 363-3311'
where Users.users_id = 4;