MySQL Query Answers (Q2 to Q10)
Q2 – University Schema
-- (i)
SELECT SName FROM STUDENT JOIN ADVISE ON STUDENT.ENo = ADVISE.ENo WHERE
Prof = 'Prof.Murthy';
Insert into
STUDENT(ENO,SNAME)VALUES(1,”PRIYA”),VALUES(2,”SHRIYA”),VALUES(3,”NITA”)…..;9
-- (ii)
SELECT Grade FROM GRADES WHERE ENo = 1234;
-- (iii)
SELECT Prof FROM TEACH GROUP BY Prof HAVING COUNT(DISTINCT Class) > 1;
-- (iv)
SELECT SName, STUDENT.ENo FROM STUDENT JOIN GRADES ON STUDENT.ENo =
GRADES.ENo WHERE Grade = 'A' AND Year = 2018 AND C_Id = 100;
-- (v)
SELECT DISTINCT STUDENT.SName FROM STUDENT JOIN ENROL ON STUDENT.ENo =
ENROL.ENo JOIN PRE_REQ ON ENROL.C_Id = PRE_REQ.Pre_C_Id WHERE Pre_C_Id = '001';
Q3 – Book Publishing
-- (i)
SELECT Author_Name FROM AUTHOR JOIN PUBLISHER ON AUTHOR.Book_ID =
PUBLISHER.Book_ID WHERE Name_of_Pub = 'ABC Press';
-- (ii)
SELECT Author_Name, Price FROM AUTHOR JOIN BOOK ON AUTHOR.Book_ID =
BOOK.Book_ID WHERE BOOK.Book_ID = 100;
-- (iii)
SELECT Title FROM BOOK WHERE Publisher_ID = 20 AND Year_of_Pub = 2011;
-- (iv)
SELECT Address FROM PUBLISHER WHERE Book_ID = 500;
Q4 – People & Companies
-- (i)
SELECT WORKS.Pname, LIVES.City FROM WORKS JOIN LIVES ON WORKS.Pname =
LIVES.Pname WHERE Cname = 'Wipro';
-- (ii)
SELECT Pname FROM WORKS WHERE Cname = 'Infosys' AND Salary > 50000;
-- (iii)
SELECT Pname, Street, City FROM LIVES;
-- (iv)
SELECT Pname FROM WORKS WHERE Salary > ALL (SELECT Salary FROM WORKS WHERE
Cname = 'Oracle');
-- (v)
SELECT Pname FROM WORKS WHERE Cname != 'Infosys';
Q5 – Library System
-- (i)
SELECT * FROM STUDENT WHERE sem = 2 AND Branchid = 'MCA';
-- (ii)
SELECT * FROM STUDENT WHERE USN NOT IN (SELECT USN FROM BORROW);
-- (iii)
SELECT S.USN, S.Name, B.Branchname, BK.Book_name, A.Authorname, BR.Borrowed_Date
FROM STUDENT S JOIN BRANCH B ON S.Branchid = B.Branchid JOIN BORROW BR ON S.USN
= BR.USN JOIN BOOK BK ON BR.Boookid = BK.Bookid JOIN AUTHOR A ON BK.Authorid =
A.Authorid WHERE sem = 2 AND S.Branchid = 'MCA';
-- (iv)
SELECT Authorid, COUNT(*) AS total_books FROM BOOK GROUP BY Authorid;
-- (v)
SELECT S.* FROM STUDENT S JOIN BORROW B ON S.USN = B.USN GROUP BY S.USN HAVING
COUNT(B.Boookid) > 2;
-- (vi)
SELECT S.* FROM STUDENT S JOIN BORROW BR ON S.USN = BR.USN JOIN BOOK BK ON
BR.Boookid = BK.Bookid GROUP BY S.USN HAVING COUNT(DISTINCT BK.Authorid) > 1;
-- (vii)
SELECT Book_name FROM BOOK ORDER BY Book_name DESC;
-- (viii)
SELECT S.* FROM STUDENT S JOIN BORROW B ON S.USN = B.USN JOIN BOOK BK ON
B.Boookid = BK.Bookid GROUP BY S.USN HAVING COUNT(DISTINCT BK.Publisher) = 1;
Q6 – Student Marks & GPA
-- (i)
UPDATE STUDENT SET total = mark1 + mark2 + mark3;
-- (ii)
SELECT USN, total / 30 AS GPA FROM STUDENT;
-- (iii)
SELECT * FROM STUDENT WHERE YEAR(date_of_birth) = 2000;
-- (iv)
SELECT * FROM STUDENT WHERE branch = 'CSE';
-- (v)
SELECT branch, MAX(GPA) AS max_gpa FROM STUDENT GROUP BY branch;
-- (vi)
SELECT * FROM STUDENT WHERE name LIKE 'S%';
-- (vii)
SELECT * FROM STUDENT WHERE name LIKE '%AR';
-- (viii)
DELETE FROM STUDENT WHERE USN = 1001;
Q7 – Airline Database
-- (i)
SELECT aname FROM Aircraft A WHERE NOT EXISTS (SELECT * FROM Certified C1 JOIN
Employees E ON C1.eid = E.eid WHERE C1.aid = A.aid AND E.salary <= 80000);
-- (ii)
SELECT ename FROM Employees E JOIN Certified C ON E.eid = C.eid WHERE E.salary <
(SELECT MIN(price) FROM Flights WHERE from = 'Bengaluru' AND to = 'Frankfurt');
-- (iii)
SELECT DISTINCT ename FROM Employees E JOIN Certified C ON E.eid = C.eid JOIN Aircraft
A ON C.aid = A.aid WHERE A.aname LIKE '%Boeing%';
-- (iv)
SELECT aid FROM Flights WHERE from = 'Bengaluru' AND to = 'New Delhi';
Q8 – Courses and Book Adoption
-- (iii)
INSERT INTO TEXT VALUES (12345, 'New Book Title', 'New Pub', 'Author Name');
-- (iv)
INSERT INTO BOOK_ADOPTION VALUES (101, 1, 12345);
-- (v)
SELECT C.course#, B.book_ISBN, B.book_title FROM COURSE C JOIN BOOK_ADOPTION BA
ON C.course# = BA.course# JOIN TEXT B ON BA.book_ISBN = B.book_ISBN WHERE C.dept =
'CS' GROUP BY C.course# HAVING COUNT(*) > 2 ORDER BY B.book_title;
-- (vi)
SELECT dept FROM COURSE WHERE course# IN (SELECT course# FROM BOOK_ADOPTION
BA JOIN TEXT T ON BA.book_ISBN = T.book_ISBN GROUP BY course# HAVING
COUNT(DISTINCT T.publisher) = 1);
Q9 – Book Dealer
-- (iii)
SELECT A.name FROM AUTHOR A JOIN CATALOG C ON A.author_id = C.author_id WHERE
C.year > 2000 AND C.price > (SELECT AVG(price) FROM CATALOG) GROUP BY A.author_id
HAVING COUNT(*) >= 2;
-- (iv)
SELECT A.name FROM AUTHOR A JOIN CATALOG C ON A.author_id = C.author_id JOIN
ORDER_DETAILS O ON C.book_id = O.book_id GROUP BY A.author_id ORDER BY
SUM(O.quantity) DESC LIMIT 1;
-- (v)
UPDATE CATALOG SET price = price * 1.1 WHERE publisher_id = 2001;
Q10 – Bank Database
-- (iii)
SELECT customer-name FROM DEPOSITOR JOIN ACCOUNT ON DEPOSITOR.accno =
ACCOUNT.accno WHERE ACCOUNT.branch-name = 'Main' GROUP BY customer-name
HAVING COUNT(DISTINCT ACCOUNT.accno) >= 2;
-- (iv)
SELECT customer-name FROM CUSTOMER WHERE NOT EXISTS (SELECT branch-name
FROM BRANCH WHERE branch-city = 'Guwahati' EXCEPT SELECT A.branch-name FROM
ACCOUNT A JOIN DEPOSITOR D ON A.accno = D.accno WHERE D.customer-name =
CUSTOMER.customer-name);
-- (v)
DELETE FROM ACCOUNT WHERE branch-name IN (SELECT branch-name FROM BRANCH
WHERE branch-city = 'Mumbai');