0% found this document useful (0 votes)
13 views7 pages

Lab Tasks-13

Ndos dhdlwpsosnnzm,lzoaowuwvsbwaoqpq0wowbs

Uploaded by

ah1350057
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
13 views7 pages

Lab Tasks-13

Ndos dhdlwpsosnnzm,lzoaowuwvsbwaoqpq0wowbs

Uploaded by

ah1350057
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 7

Name: Zainab Nadeem

ID: F2022065243
Section: W4
Customers Table
CustomerI First Name Second Name Email Password
D
1 Ali Ahmed [email protected] Pass1234
2 Hamza Ali [email protected] Qwer1234
3 Awais Saeed [email protected] Awa678
4 zuhaib shahid [email protected] shah234
5 zain Ali [email protected] Ali123
Categories Table
CategoryI CategoryName
D
1 Portable device
2 Mobile
3 Laptop
Products Table
ProductID ProductName Price CategoryID
1 HP Elitebook 70000 3
2 HP Pavilion 90000 3
3 Samsung A32 40000 2
4 USB 3.2 Gen 1 2000 1
Order Table
OrderID CustomerID Order Date
1 1 01-01-2023
2 1 12-3-2022
3 2 13-12-2022
4 3 07-05-2023
5 1 09-09-2021
6 2 02-06-2023
7 2 04-06-2019
8 4 01-02-2023

Order Details Table


OrderID ProductID Quantity
1 1 2
1 2 2
2 3 3
3 1 4
4 1 1
5 1 5
6 1 2
6 2 1
6 3 2
7 1 4
8 4 6

Complete these tasks by using the given tables

Task 01:
Create a stored procedure that retrieves information about customers and their associated
orders ID and order Date

Task 02:
Create a store procedure that fetches the details of products where productid = 1.

SOLUTION:

CREATE DATABASE lab14;


USE lab14;

CREATE TABLE Customers (


CustomerID INT AUTO_INCREMENT PRIMARY KEY,
FirstName VARCHAR(50),
LastName VARCHAR(50),
Email VARCHAR(100),
Password VARCHAR(50)
);

INSERT INTO Customers (FirstName, LastName, Email, Password) VALUES


('Ali', 'Ahmed', '[email protected]', 'Pass1234'),
('Hamza', 'Ali', '[email protected]', 'Qwer1234'),
('Awais', 'Saeed', '[email protected]', 'Awa678'),
('Zuhaib', 'Shahid', '[email protected]', 'shah234'),
('Zain', 'Ali', '[email protected]', 'Ali123');
CREATE TABLE Categories (
CategoryID INT AUTO_INCREMENT PRIMARY KEY,
CategoryName VARCHAR(50)
);

INSERT INTO Categories (CategoryName) VALUES


('Portable device'),
('Mobile'),
('Laptop');

CREATE TABLE Products (


ProductID INT AUTO_INCREMENT PRIMARY KEY,
ProductName VARCHAR(100),
Price DECIMAL(10,2),
CategoryID INT,
FOREIGN KEY (CategoryID) REFERENCES Categories(CategoryID)
);

INSERT INTO Products (ProductName, Price, CategoryID) VALUES


('HP Elitebook', 70000, 3),
('HP Pavilion', 90000, 3),
('Samsung A32', 40000, 2),
('USB 3.2 Gen 1', 2000, 1);

CREATE TABLE Orders (


OrderID INT AUTO_INCREMENT PRIMARY KEY,
CustomerID INT,
OrderDate DATE,
FOREIGN KEY (CustomerID) REFERENCES Customers(CustomerID)
);

INSERT INTO Orders (CustomerID, OrderDate) VALUES


(1, '2023-01-01'),
(1, '2022-03-12'),
(2, '2022-12-13'),
(3, '2023-05-07'),
(1, '2021-09-09'),
(2, '2023-06-02'),
(2, '2019-06-04'),
(4, '2023-02-01');

CREATE TABLE OrderDetails (


OrderID INT,
ProductID INT,
Quantity INT,
PRIMARY KEY (OrderID, ProductID),
FOREIGN KEY (OrderID) REFERENCES Orders(OrderID),
FOREIGN KEY (ProductID) REFERENCES Products(ProductID)
);

INSERT INTO OrderDetails (OrderID, ProductID, Quantity) VALUES


(1, 1, 2),
(1, 2, 2),
(2, 3, 3),
(3, 1, 4),
(4, 1, 1),
(5, 1, 5),
(6, 1, 2),
(6, 2, 1),
(6, 3, 2),
(7, 1, 4),
(8, 4, 6);
DELIMiTER //

create procedure getCustomerOrder()


BEGIN
select
Customers.CustomerID,Customers.FirstName,Customers.SecondName,Customers.Emai
l,Customers.Password,Orders.OrderID,Orders.OrderDate
from Customers
join Orders ON Customers.CustomerID=Orders.CustomerID;
END //

DELIMITER ;
CALL GetCustomerOrdersInfo();

DELIMITER //
create procedure ProductDetails(IN ID int)
begin
select *
from Products
where ProductID=ID;
end //
DELIMITER ;

Task 03:
Create a view of customer order details where each customer can only see their own order
details.
Solution:
DELIMITER ;
CREATE VIEW CustomerOrder
AS
SELECT
Customers.CustomerID,Customers.FirstName,Customers.SecondName,Customers.Email,Cus
tomers.Password,Orders.OrderID,Orders.OrderDate
FROM Customers
JOIN Orders ON Customers.CustomerID=Orders.CustomerID;

Task 04:
Create a view that can provide information about the customers and their associated orders.
SOLUTION:

CREATE VIEW CustomerOrderInfo AS


SELECT
Customers.CustomerID,
Customers.FirstName,
Customers.LastName,
Customers.Email,
Customers.Password,
Orders.OrderID,
Orders.OrderDate
FROM
Customers
JOIN
Orders ON Customers.CustomerID = Orders.CustomerID;

SELECT * FROM CustomerOrderInfo;

You might also like