0% found this document useful (0 votes)
20 views

LAB 3 Databases Management

The document contains details of three tables - Chef, Food and Cooks in a database called Hotel. It provides the structure of the tables including primary and foreign keys. It also contains sample data inserted in the tables. The second part contains 11 SQL queries to retrieve information from these tables by joining them based on the primary and foreign keys. The queries return chef names, foods prepared by chefs and other details.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
20 views

LAB 3 Databases Management

The document contains details of three tables - Chef, Food and Cooks in a database called Hotel. It provides the structure of the tables including primary and foreign keys. It also contains sample data inserted in the tables. The second part contains 11 SQL queries to retrieve information from these tables by joining them based on the primary and foreign keys. The queries return chef names, foods prepared by chefs and other details.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 11

Vidyashilp University

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

Write the SQL queries or complete the half-completed Queries.

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
);

CREATE TABLE Food (


FID INT PRIMARY KEY,
ITEM VARCHAR(255),
RATING INT,
TYPE CHAR(1),
STYLE VARCHAR(255)
);

CREATE TABLE Cooks (


CID INT,
FID INT,
CDATE DATE,
PRIMARY KEY (CID, FID, CDATE),
FOREIGN KEY (CID) REFERENCES Chef(CID),
FOREIGN KEY (FID) REFERENCES Food(FID)
);

-- Insert data into Chef table


INSERT INTO Chef (CID, CNAME, EXPERIENCE, AGE)
VALUES
(22, 'HARI', 3, 45),
(29, 'RAJA', 10, 33),
(31, 'MUNNA', 8, 55),
(32, 'HANUMANTHU', 8, 65),
(44, 'SURESH', 7, 59),
(58, 'GEORGE', 10, 35),
(62, 'HARI', 4, 28),
(64, 'NAGHU', 7, 35),
(71, 'ANDY', 1, 26),
(74, 'SALMAN', 9, 40),
(85, 'MANJUNATH', 3, 25),
(95, 'SURESH', 7, 63);

-- Insert data into Cooks table


INSERT INTO Cooks (CID, FID, CDATE)
VALUES
(22, 101, '2024-02-10'),
(22, 102, '2024-02-10'),
(22, 103, '2024-02-11'),
(22, 104, '2024-02-12'),
(31, 102, '2024-02-13'),
(31, 103, '2024-02-13'),
(64, 101, '2024-02-14'),
(64, 106, '2024-02-15'),
(74, 109, '2024-02-10'),
(31, 104, '2024-02-10'),
(31, 105, '2024-02-15'),
(71, 106, '2024-02-16'),
(58, 108, '2024-02-16'),
(32, 107, '2024-02-10');

-- Insert data into Food table


INSERT INTO Food (FID, ITEM, RATING, TYPE, STYLE)
VALUES
(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');
3. Write a query to display all the names of the Chef.
Output:
ANDY
GEORGE
HANUMANTHU
HARI
HARI
MANJUNATH
MUNNA
NAGU
RAJA
SALMAN
SURESH
SURESH

Ans.
SELECT CNAME
FROM Chef order by(cname);

4. Write a query to display names of the Chefs which are unique.


Hint: Use the keyword Distinct.
Output:
HARI
RAJA
MUNNA
HANUMANTHU
SURESH
GEORGE
NAGU
ANDY
SALMAN
MANJUNATH
Write your Query here
Ans.

SELECT DISTINCT CNAME


FROM Chef;
5. Write a query to display the name of Chef who has cooked atleast one food.
Output:
HARI
NAGU
MUNNA
ANDY
HANUMANTHU
GEORGE
SALMAN

Write your Query here

Ans.
SELECT DISTINCT C.CNAME
FROM Chef C
INNER JOIN Cooks CO ON C.CID = CO.CID;

SELECT DISTINCT CNAME


FROM Chef
WHERE CID IN (
SELECT DISTINCT CID
FROM Cooks
);
6. Write a query to display the names of the Chef / s who can prepare food with the food id
=101
Output:
HARI
NAGU
Write your Query here

Ans.
SELECT DISTINCT C.CNAME
FROM Chef C
INNER JOIN Cooks CO ON C.CID = CO.CID
WHERE CO.FID = 101;

Without using join

SELECT DISTINCT CNAME


FROM Chef
WHERE CID IN (
SELECT CID
FROM Cooks
WHERE FID = 101
);
7. Write a query to display the name of chef who can prepare veg biryani.
Output:
HARI Veg Biryani
NAGU Veg Biryani
Write your Query here

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';

Without using join

SELECT DISTINCT CNAME, 'Veg Biryani'


FROM Chef
WHERE CID IN (
SELECT CID
FROM Cooks
WHERE FID IN (
SELECT FID
FROM Food
WHERE ITEM = 'Veg Biryani'
)
);
8. Write a query to display the name and age of the Chef/s who can prepare chicken biryani.
Display the list in ascending order of age.
Output:
Chicken Biryani HARI 45
Chicken Biryani MUNNA 55

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;

Without using join

SELECT DISTINCT 'Chicken Biryani' AS "Chicken Biryani", CNAME, AGE


FROM Chef
WHERE CID IN (
SELECT CID
FROM Cooks
WHERE FID IN (
SELECT FID
FROM Food
WHERE ITEM = 'Chicken Biryani'
)
)
ORDER BY AGE;
9. Write a query to display the ID and name of the Chef who has cooked more than one food
Output:
HARI 101
NAGU 101
HARI 102
MUNNA 102
HARI 103
MUNNA 103
HARI 104
MUNNA 104
MUNNA 105
NAGU 106
Write your Query here

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. 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
);
10. Modify the above query to display the name and Id of the chef/s in the order of name.
Output:
HARI 101
HARI 102
HARI 103
HARI 104
MUNNA 102
MUNNA 103
MUNNA 104
MUNNA 105
NAGU 101
NAGU 106
Write your Query here

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')
);

13. Repeat the above query using Union Operator


select ch.cname, fd.item from chef ch, food fd, cooks co where ch.cid=co.cid and
co.fid=fd.fid and fd.fid=106
UNION
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;
14. Write a query to display the food item prepared by Chef/s except 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'
)
);

24. Write a query to display the name of the youngest Chef/s

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'
);

You might also like