Guest User

Untitled

a guest
Jan 18th, 2018
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.41 KB | None | 0 0
  1. List all the students and their classes:
  2.  
  3. SELECT students.name, classes.name FROM enrollments JOIN students ON enrollments.student_id = students.id JOIN classes ON enrollments.class_id = classes.id;
  4.  
  5. List all the students and their classes and rename the columns to “student” and “class”:
  6.  
  7. SELECT students.name AS student, classes.name AS class FROM enrollments JOIN students ON enrollments.student_id = students.id JOIN classes ON enrollments.class_id = classes.id;
  8.  
  9. List all the students and their average grade:
  10.  
  11. SELECT students.name, AVG(enrollments.grade) FROM enrollments JOIN students ON enrollments.student_id = students.id JOIN classes ON enrollments.class_id = classes.id GROUP BY students.name;
  12.  
  13. List all the students and a count of how many classes they are currently enrolled in:
  14.  
  15. SELECT students.name, COUNT(classes) AS class_count FROM enrollments JOIN students ON enrollments.student_id = students.id JOIN classes ON enrollments.class_id = classes.id GROUP BY students.name;
  16.  
  17. List all the students and their class count IF they are in more than 2 classes:
  18.  
  19. SELECT students.name,COUNT(classes) AS class_count FROM enrollments JOIN students ON enrollments.student_id = students.id JOIN classes ON enrollments.class_id = classes.id GROUP BY students.name HAVING COUNT(classes) >= 2;
  20.  
  21. List all the teachers for each student:
  22.  
  23. SELECT students.name, teachers.name FROM enrollments JOIN students ON enrollments.student_id = students.id JOIN classes ON enrollments.class_id = classes.id JOIN teachers ON classes.teacher_id = teachers.id;
  24.  
  25. List all the teachers for each student grouped by each student:
  26.  
  27. SELECT students.name, teachers.name FROM enrollments JOIN students ON enrollments.student_id = students.id JOIN classes ON enrollments.class_id = classes.id JOIN teachers ON classes.teacher_id = teachers.id GROUP BY students.name, teachers.name;
  28.  
  29. Find the average grade for each class:
  30.  
  31. SELECT classes.name, AVG(enrollments.grade) FROM enrollments JOIN students ON enrollments.student_id = students.id JOIN classes ON enrollments.class_id = classes.id GROUP BY classes.name;
  32.  
  33. List students’ name and their grade IF their grade is lower than the average:
  34.  
  35. SELECT students.name, AVG(enrollments.grade) AS "average_grade" FROM enrollments JOIN students ON enrollments.student_id = students.id GROUP BY students.name HAVING AVG(enrollments.grade) < ( SELECT AVG(enrollments.grade) FROM enrollments JOIN students ON enrollments.student_id = students.id);
Add Comment
Please, Sign In to add comment