-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathHomework3.sql
More file actions
49 lines (41 loc) · 1.07 KB
/
Copy pathHomework3.sql
File metadata and controls
49 lines (41 loc) · 1.07 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
SELECT Teacher, COUNT(*) AS GradesPerTeacher
FROM Grades
GROUP BY Teacher
GO
SELECT Teacher, COUNT(*) AS GradesPerTeacher
FROM Grades
WHERE StudentId < 100
GROUP BY Teacher
GO
SELECT StudentId, MAX(Grade) AS MaxGradePerStudent, AVG(Grade) AS AvgGradePerStudent
FROM Grades
GROUP BY StudentId
GO
SELECT Teacher, COUNT(*) AS GradeCountPerTeacher
FROM Grades
GROUP BY Teacher
HAVING COUNT(*) > 200
GO
SELECT StudentId, COUNT(*) AS GradeCount, MAX(Grade) AS MaxGradeCount, AVG(Grade) AS AvgGrade
FROM Grades
GROUP BY StudentId
HAVING MAX(Grade) = AVG(Grade)
GO
SELECT s.FirstName, s.LastName, g.StudentId, g.GradeCount, g.MaxGrade, g.AvgGrade
FROM dbo.Grades g
JOIN dbo.Students s ON g.StudentID = s.StudentId;
GO
CREATE VIEW vv_StudentGrades AS
SELECT StudentId, COUNT(*) AS GradeCount
FROM Grades
GROUP BY StudentId
GO
CREATE OR REPLACE VIEW vv_StudentGrades AS
SELECT s.FirstName, s.LastName, COUNT(*) AS GradeCount
FROM dbo.Grades g
JOIN dbo.Students s ON g.StudentId = s.StudentId
GROUP BY g.StudentId, s.FirstName, s.LastName;
GO
SELECT * FROM vv_StudentGrades
ORDER BY GradeCount
GO