Library table using Sub Query
Library table using Sub Query
Subqueries
1. *Find the titles of books that have been borrowed by a borrower named 'John Doe'*
SELECT Title FROM Books WHERE BookID IN ( SELECT BookID FROM Loans WHERE
BorrowerID IN ( SELECT BorrowerID FROM Borrowers WHERE Name = 'John Doe' ));
2. *Find the names of borrowers who have borrowed books published by 'ABCPublishers'*
3. *Find the titles of books that have been borrowed for more than 30 days*
SELECT Title FROM Books WHERE BookID IN (SELECT BookID FROM Loans WHERE
DATEDIFF(ReturnDate, LoanDate) > 30);
4. *Find the names of borrowers who have borrowed more than 5 books*
SELECT Title FROM Books WHERE BookID NOT IN ( SELECT BookID FROM Loans);
6. *Find the names of borrowers who have borrowed books published in the year 2010*
SELECT Title FROM Books WHERE BookID IN (SELECT BookID FROM Loans WHERE
BorrowerID IN (SELECT BorrowerID FROM Borrowers WHERE Address = '123 Main St'));
8. *Find the names of borrowers who have borrowed books with a specific author*
9. *Find the titles of books that have been borrowed for a specific duration*
SELECT Title FROM Books WHERE BookID IN (SELECT BookID FROM Loans
WHERE DATEDIFF(ReturnDate, LoanDate) = 14);
10. *Find the names of borrowers who have borrowed books from a specific publisher*
11. *Find the titles of books that have been borrowed by borrowers who have borrowed
more than 3 books*
SELECT Title FROM Books WHERE BookID IN (SELECT BookID FROM Loans
WHERE BorrowerID IN (SELECT BorrowerID FROM Loans GROUP BY BorrowerID
HAVING COUNT(BookID) > 3));
12. *Find the names of borrowers who have borrowed books that have a specific keyword
in the title*
13. *Find the titles of books that have been borrowed by borrowers who have borrowed
books from a specific department*
SELECT Title FROM Books WHERE BookID IN ( SELECT BookID FROM Loans
WHERE BorrowerID IN (SELECT BorrowerID FROM Borrowers WHERE Department =
'Computer Science'));
14. *Find the names of borrowers who have borrowed books that have a specific author
and publisher*
15. *Find the titles of books that have been borrowed by borrowers who have borrowed
books for a specific duration*
SELECT Title FROM Books WHERE BookID IN ( SELECT BookID FROM Loans
WHERE DATEDIFF(ReturnDate, LoanDate) BETWEEN 7 AND 14);
16. *Find the names of borrowers who have borrowed books from a specific shelf*
17. *Find the titles of books that have been borrowed by borrowers who have borrowed
books with a specific ISBN*
SELECT Title FROM Books WHERE BookID IN (SELECT BookID FROM Loans WHERE
BorrowerID IN (SELECT BorrowerID FROM Loans WHERE BookID IN (SELECT BookID
FROM Books WHERE ISBN = '978-3-16-148410-0')));
18. *Find the names of borrowers who have borrowed books that have a specific number of
pages*
19. *Find the titles of books that have been borrowed by borrowers who have borrowed
books from a specific category*
SELECT Title FROM Books WHERE BookID IN (SELECT BookID FROM Loans WHERE
BorrowerID IN (SELECT BorrowerID FROM Borrowers WHERE Category = 'Student'));
20. *Find the names of borrowers who have borrowed books that have a specific
publication date*
SELECT Name FROM Borrowers WHERE BorrowerID IN (SELECT BorrowerID FROM
Loans WHERE BookID IN (SELECT BookID FROM Books WHERE PublicationDate = '2010-
01-01'));