SELECT s.StudentCode, s.StudentName,SUM(m.Mark)AS TotalMarks
FROM Student s
JOIN M_Mark m ON s.StudentCode = m.StudentCode
GROUPBY s.StudentCode, s.StudentName;
Display the subject average mark for each subject.
SELECT Subject.SubjectName,AVG(M_Mark.Mark)AS AverageMark
FROM Subject
JOIN M_Mark ON Subject.SubjectCode = M_Mark.SubjectCode
GROUPBY Subject.SubjectName;
Display the name of subjects for which at-least one student got below 40%.
SELECTDISTINCT s.SubjectName
FROM Subject s
JOIN M_Mark m ON s.SubjectCode = m.SubjectCode
WHERE m.Mark <(0.4* s.MaxMark);
Display the name, subject and percentage of mark who got below 40%.
SELECT st.StudentName, sb.SubjectName,(m.Mark *100.0/ sb.MaxMark)AS Percentage
FROM Student st
JOIN M_Mark m ON st.StudentCode = m.StudentCode
JOIN Subject sb ON m.SubjectCode = sb.SubjectCode
WHERE(m.Mark *100.0/ sb.MaxMark)<40;
Display the faculties and allotted subjects for each faculty.
SELECT f.FacultyName, s.SubjectName
FROM Faculty f
JOIN Subject s ON f.FacultyCode = s.FacultyCode;
Display the name of faculties who take more than one subject.
SELECT f.FacultyName,COUNT(s.SubjectCode)AS NoOfSubjects
FROM Faculty f
JOIN Subject s ON f.FacultyCode = s.FacultyCode
GROUPBY f.FacultyName
HAVINGCOUNT(s.SubjectCode)>1;
Display name, subject, mark, % of mark in ascending order of mark.
SELECT st.StudentName, sb.SubjectName, m.Mark,(m.Mark *100.0/ sb.MaxMark)AS Percentage
FROM Student st
JOIN M_Mark m ON st.StudentCode = m.StudentCode
JOIN Subject sb ON m.SubjectCode = sb.SubjectCode
ORDERBY m.Mark ASC;