Database Management System - Practical File
Database Management System - Practical File
20231253
Management
5. Retrieve all student’s names whose roll no either starts with ‘X’ or ‘Z’ and ends with
‘9’
Code :
SELECT StudentName
FROM STUDENT
WHERE RollNo LIKE 'X%' OR RollNo LIKE 'Y%' OR RollNo LIKE 'Z%' AND
RollNo LIKE '%9';
6. Find society details with more than N TotalSeats where N is to be input by the user.
Code :
DECLARE @N INT; -- Declare a variable for user input
SET @N = 100; -- Set the value of N (replace 100 with the desired input)
SELECT *
FROM SOCIETY
WHERE TotalSeats > @N;
12. Find the names of students who have not enrolled in any society
Code :
SELECT STUDENT.StudentName
FROM STUDENT
LEFT JOIN ENROLLMENT ON STUDENT.RollNo = ENROLLMENT.RollNo
WHERE ENROLLMENT.SID IS NULL;
13. Find the names of all the students who are enrolled in at least 2 societies
Code :
SELECT STUDENT.StudentName
FROM STUDENT
JOIN ENROLLMENT ON STUDENT.RollNo = ENROLLMENT.RollNo
GROUP BY STUDENT.RollNo
HAVING COUNT(ENROLLMENT.SID) >= 2;
14. Find the society name in which maximum students are enrolled
Code :
SELECT SOCIETY.SocName
FROM SOCIETY
JOIN ENROLLMENT ON SOCIETY.SocID = ENROLLMENT.SID
GROUP BY SOCIETY.SocName
HAVING COUNT(ENROLLMENT.RollNo) = (
SELECT MAX(StudentCount)
FROM (
SELECT COUNT(ENROLLMENT.RollNo) AS StudentCount
FROM ENROLLMENT
GROUP BY ENROLLMENT.SID
) AS Temp
);
15. Find names of all students who have enrolled in any society and society names in
which at least one student has enrolled
Code:
SELECT DISTINCT S.StudentName, SO.SocName
FROM STUDENT S
JOIN ENROLLMENT E ON S.RollNo = E.RollNo
JOIN SOCIETY SO ON E.SID = SO.SocID;
16. Find names of all students who have enrolled in any society and society names in
which at least one student has enrolled .
Code :
SELECT DISTINCT S.StudentName
FROM STUDENT S
JOIN ENROLLMENT E ON S.RollNo = E.RollNo
JOIN SOCIETY SO ON E.SID = SO.SocID
WHERE SO.SocName IN ('Debating', 'Dancing', 'Sashakt');
17. Find the society names such that its mentor has a name with ‘ Gupta ‘ in it
Code :
SELECT SocName
FROM SOCIETY
WHERE MentorName LIKE '%Gupta%';
18. Find the society names in which the number of enrolled students is only 10% of its
capacity
Code :
SELECT S.SocName
FROM SOCIETY S
JOIN ENROLLMENT E ON S.SocID = E.SID
GROUP BY S.SocID, S.SocName, S.TotalSeats
HAVING COUNT(E.RollNo) <= 0.1 * S.TotalSeats;
19. Display the vacant seats for each society
Code :
SELECT S.SocName,
(S.TotalSeats - COUNT(E.RollNo)) AS VacantSeats
FROM SOCIETY S
LEFT JOIN ENROLLMENT E ON S.SocID = E.SID
GROUP BY S.SocID, S.SocName, S.TotalSeats;
21. Add the enrollment fee paid ( ‘yes’/’no’ ) field in the enrollment table
Code :
ALTER TABLE ENROLLMENT
ADD EnrollmentFeePaid ENUM('yes', 'no');
23. Create a view to keep track of society names with the total number of students
enrolled in it.
Code:
CREATE VIEW SocietyEnrollment AS
SELECT S.SocName, COUNT(E.RollNo) AS TotalStudents
FROM SOCIETY S
LEFT JOIN ENROLLMENT E ON S.SocID = E.SID
GROUP BY S.SocName;
26. Add column mobile number in student table with default value 9999999999
Code :
-- Add MobileNumber column to STUDENT table with default value
ALTER TABLE STUDENT
ADD MobileNumber CHAR(10) DEFAULT '9999999999';
27. Find the total number of students whose age is > 20 years.
Code :
-- Find the total number of students whose age is > 20 years
SELECT COUNT(*) AS TotalStudents
FROM STUDENT
WHERE TIMESTAMPDIFF(YEAR, DOB, CURDATE()) > 20;
28. Find names of students who were born in 2001 and are enrolled in at least one society.
Code :
-- Find names of students born in 2001 and enrolled in at least one society
SELECT DISTINCT S.StudentName
FROM STUDENT S
JOIN ENROLLMENT E ON S.RollNo = E.RollNo
WHERE YEAR(S.DOB) = 2001;
29. Count all society whose names start with 'S' and end with 'T' and has at least 5 student
enrolled in it
Code :
-- Count societies starting with 'S', ending with 'T', and having at least 5 students
enrolled
SELECT COUNT(*) AS TotalSocieties
FROM SOCIETY S
WHERE S.SocName LIKE 'S%T'
AND (
SELECT COUNT(*)
FROM ENROLLMENT E
WHERE E.SID = S.SocID
) >= 5;