LAB 3 Databases Management
LAB 3 Databases Management
Databases Management
Semester-IV
2023-24
Lab-3
19th
February 2024
Name: Abhishek G UEN: 2022UG000045
Consider following three tables, Chef, Food and Cooks to answer the following queries.
Chef
CID CNAME EXPERIENCE AGE Cooks
22 HARI 3 45 CID FID CDATE
29 RAJA 10 33 22 101 2024-02-10
31 MUNNA 8 55 22 102 2024-02-10
32 HANUMANTHU 8 65 22 103 2024-02-11
44 SURESH 7 59 22 104 2024-02-12
58 GEORGE 10 35 31 102 2024-02-13
62 HARI 4 28 31 103 2024-02-13
64 NAGHU 7 35 64 101 2024-02-14
71 ANDY 1 26 64 106 2024-02-15
74 SALMAN 9 40 74 109 2024-02-10
85 MANJUNATH 3 25 31 104 2024-02-10
95 SURESH 7 63 31 105 2024-02-15
71 106 2024-02-16
58 108 2024-02-16
Food 32 107 2024-02-10
FID ITEM RATING TYPE STYLE
101 Veg Biryani 7 V KARNATAKA
102 Chicken Biryani 1 N KARNATAKA
103 Guntur Biryani 8 N ANDHRA
104 Nati Biryani 10 N KARNATAKA
105 Chilly Chicken 7 N GOA
106 Chilly Paneer 10 V GOA
107 Chicken Kadai 9 N PUNJAB
108 Paneer Kadai 3 V PUNJAB
109 Dum Biryani 3 N ANDHRA
Sl Query
Number
1. Create a database called hotel: Create Database Hotel;
Use Hotel;
2. Create tables Chef, Cooks and Food with the following primary key
Primary Key of Chef is : CID
Primary Key of Food is: FID
Primary Key of Cooks is: (CID,FID,CDATE) and foreign key is CID which refers to CID
of Chef and FID refers to FID of Food.
Ans.
CREATE TABLE Chef (
CID INT PRIMARY KEY,
CNAME VARCHAR(255),
EXPERIENCE INT,
AGE INT
);
Ans.
SELECT CNAME
FROM Chef order by(cname);
Ans.
SELECT DISTINCT C.CNAME
FROM Chef C
INNER JOIN Cooks CO ON C.CID = CO.CID;
Ans.
SELECT DISTINCT C.CNAME
FROM Chef C
INNER JOIN Cooks CO ON C.CID = CO.CID
WHERE CO.FID = 101;
Ans.
SELECT DISTINCT C.CNAME, F.ITEM
FROM Chef C
JOIN Cooks CO ON C.CID = CO.CID
JOIN Food F ON CO.FID = F.FID
WHERE F.ITEM = 'Veg Biryani';
Ans.
SELECT DISTINCT F.ITEM AS "Chicken Biryani", C.CNAME, C.AGE
FROM Chef C
JOIN Cooks CO ON C.CID = CO.CID
JOIN Food F ON CO.FID = F.FID
WHERE F.ITEM = 'Chicken Biryani'
ORDER BY C.AGE;
Ans.
SELECT DISTINCT C.CNAME, CO.FID
FROM Chef C
JOIN Cooks CO ON C.CID = CO.CID
WHERE CO.CID IN (
SELECT CID
FROM Cooks
GROUP BY CID
HAVING COUNT(FID) > 1
);
Ans.
SELECT DISTINCT C.CNAME, CO.FID
FROM Chef C
JOIN Cooks CO ON C.CID = CO.CID
WHERE CO.CID IN (
SELECT CID
FROM Cooks
GROUP BY CID
HAVING COUNT(FID) > 1
)
ORDER BY C.CNAME, CO.FID;
Without join
SELECT DISTINCT Chef.CNAME, Cooks.FID
FROM Chef, Cooks
WHERE Chef.CID = Cooks.CID
AND Cooks.CID IN (
SELECT CID
FROM Cooks
GROUP BY CID
HAVING COUNT(FID) > 1
)
ORDER BY Chef.CNAME, Cooks.FID;
11. Write a query to display the ID and name of the Chef who has cooked more than one food
on a given day.
Output:
HARI 101 2024-02-10
HARI 102 2024-02-10
MUNNA 102 2024-02-13
MUNNA 103 2024-02-13
Write your Query here
Ans.
SELECT DISTINCT C.CNAME, CO.FID, CO.CDATE
FROM Chef C
JOIN Cooks CO ON C.CID = CO.CID
WHERE (CO.CID, CO.CDATE) IN (
SELECT CID, CDATE
FROM Cooks
GROUP BY CID, CDATE
HAVING COUNT(FID) > 1
);
12. Write a query to display the name and id of the Chef/s who has either prepared Chilly
Paneer or Paneer Kadai.
Output:
NAGU Chilly Paneer
ANDY Chilly Paneer
GEORGE Paneer Kadai
Write your Query here
Ans.
SELECT DISTINCT Chef.CNAME, Cooks.FID
FROM Chef, Cooks
WHERE Chef.CID = Cooks.CID
AND Cooks.FID IN (
SELECT FID
FROM Food
WHERE ITEM IN ('Chilly Paneer', 'Paneer Kadai')
);
Ans.
SELECT DISTINCT ITEM
FROM Food
WHERE FID NOT IN (
SELECT FID
FROM Food
WHERE ITEM = 'Paneer Kadai'
);
15. Repeat the above query using EXCEPT Operator
select ch.cname, fd.item from chef ch, food fd, cooks co where ch.cid=co.cid and
co.fid=fd.fid EXCEPT select ch1.cname, fd1.item from chef ch1, food fd1, cooks co1
where ch1.cid=co1.cid and co1.fid=fd1.fid and fd1.fid=108;
16. Write a query to display name of all Chef/s whose age more than 50.
Output:
HARI 45 3
RAJA 33 10
GEORGE 35 10
HARI 28 4
NAGU 35 7
ANDY 26 1
SALMAN 40 9
MANJUNATH 25 3
Write your Query here
Ans.
SELECT CNAME, AGE, EXPERIENCE
FROM Chef
WHERE AGE > 50;
17. Write a query to display name of all Chef/s who has experience more than 5 years.
Output:
RAJA 33 10
MUNNA 55 8
HANUMANTHU 65 8
SURESH 59 7
GEORGE 35 10
NAGU 35 7
SALMAN 40 9
SURESH 63 7
Ans.
SELECT C.CNAME, C.AGE, C.EXPERIENCE
FROM Chef C
WHERE C.EXPERIENCE > 5;
18. Write a query to display the name of all Chef/s whose age is more than 50 and experience
is more than 5 year.
Output:
RAJA 33 10
GEORGE 35 10
NAGU 35 7
SALMAN 40 9
Write your Query here
Ans.
SELECT C.CNAME, C.AGE, C.EXPERIENCE
FROM Chef C
WHERE C.AGE < 50 AND C.EXPERIENCE > 5;
19. Repeat the above query using INTERECT Operator
Solution:
select cname, age, experience from chef where age<50
intersect
select ch.cname,ch.age,ch.experience from chef ch where ch.experience>5;
20. Write a query to display the name and age of the Chef/s who can prepare Karnataka style
Non Veg Food.
Write your Query here
Ans.
SELECT DISTINCT Chef.CNAME, Chef.AGE
FROM Chef, Cooks, Food
WHERE Chef.CID = Cooks.CID
AND Cooks.FID = Food.FID
AND Food.STYLE = 'KARNATAKA'
AND Food.TYPE = 'N';
21. Write a query to display the total experience of all the Chef/s who can prepare Non Veg
food.
Write your Query here
Ans.
SELECT SUM(EXPERIENCE) AS "Total Experience"
FROM Chef
WHERE CID IN (
SELECT CID
FROM Cooks
WHERE FID IN (
SELECT FID
FROM Food
WHERE TYPE = 'N'
)
);
22. Write a query to display the date on which any Item related to chicken was prepared.
Write your Query here
Ans.
SELECT DISTINCT CDATE
FROM Cooks
WHERE FID IN (
SELECT FID
FROM Food
WHERE ITEM LIKE '%Chicken%'
);
23. Write a nested using IN operator query to display name of the Chef/s who can prepare
non veg biryani.
Write your Query here
Ans.
SELECT DISTINCT CNAME
FROM Chef
WHERE CID IN (
SELECT CID
FROM Cooks
WHERE FID IN (
SELECT FID
FROM Food
WHERE ITEM LIKE '%Biryani%'
AND TYPE = 'N'
)
);
select cname from chef where age <= all(select age from chef);
ans.
select cname from chef where age <= all(select age from chef);
SELECT CNAME
FROM Chef
WHERE AGE = (
SELECT MIN(AGE)
FROM Chef
);
25. Write a query to display the rating of the food whose rating is better than Guntur Biryani
select item from food where rating > any (select rating from food where item= 'Guntur
Biryani');
ans.
SELECT RATING
FROM Food
WHERE RATING > (
SELECT RATING
FROM Food
WHERE ITEM = 'Guntur Biryani'
);