Guest User

Untitled

a guest
Jan 19th, 2018
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.46 KB | None | 0 0
  1. 1.
  2. List all the students and their classes
  3.  
  4. SELECT students.name, classes.name
  5. FROM enrollments
  6. INNER JOIN students ON enrollments.student_id = students.id
  7. INNER JOIN classes ON enrollments.class_id = classes.id;
  8.  
  9. 2.
  10.  
  11. List all the students and their classes and rename the columns to “student” and “class”
  12.  
  13. SELECT students.name AS "student", classes.name AS "class"
  14. FROM enrollments
  15. INNER JOIN students
  16. ON enrollments.student_id = students.id
  17. INNER JOIN classes
  18. ON enrollments.class_id = classes.id;
  19.  
  20. 3.
  21. List all the students and their average grade
  22.  
  23. SELECT students.name, AVG(enrollments.grade)
  24. FROM enrollments JOIN students
  25. ON enrollments.student_id = students.id
  26. GROUP BY students.name;
  27.  
  28. 4.
  29. List all the students and a count of how many classes they are currently enrolled in
  30.  
  31. SELECT students.name, COUNT(classes) AS Class_Count
  32. FROM enrollments JOIN students ON enrollments.student_id = students.id
  33. JOIN classes ON enrollments.class_id = classes.id GROUP BY students.name;
  34.  
  35. 5.
  36. List all the students and their class count IF they are in more than 2 classes
  37.  
  38. SELECT students.name, COUNT(classes)
  39. AS Class_Count FROM enrollments
  40. JOIN students ON enrollments.student_id = students.id
  41. JOIN classes ON enrollments.class_id = classes.id GROUP BY students.name HAVING COUNT(classes)>=2;
  42.  
  43. 6.
  44. List all the teachers for each student
  45.  
  46. SELECT teachers.name AS teacher, students.name
  47. AS student FROM enrollments JOIN students
  48. ON enrollments.student_id = students.id
  49. JOIN classes on enrollments.class_id = classes.id
  50. JOIN teachers ON classes.teacher_id = teachers.id;
  51.  
  52. 7.
  53. List all the teachers for each student grouped by each student
  54.  
  55. SELECT teachers.name AS teacher, students.name
  56. AS student FROM enrollments JOIN students
  57. ON enrollments.student_id = students.id
  58. JOIN classes on enrollments.class_id = classes.id
  59. JOIN teachers ON classes.teacher_id = teachers.id GROUP BY students.name, teachers.name ORDER BY students.name;
  60.  
  61.  
  62. 8.
  63. Find the average grade for a each class
  64.  
  65. SELECT classes.name AS class, AVG(enrollments.grade)
  66. AS average_grade FROM enrollments
  67. JOIN classes on enrollments.class_id = classes.id GROUP BY classes.name;
  68.  
  69.  
  70. 9.
  71.  
  72. List students’ name and their grade IF their grade is lower than the average.
  73.  
  74. SELECT students.name, AVG(enrollments.grade)
  75. FROM enrollments
  76. JOIN students ON enrollments.student_id = students.id
  77. GROUP BY students.name HAVING AVG(enrollments.grade) < ( SELECT AVG(enrollments.grade)
  78. FROM enrollments
  79. JOIN students ON enrollments.student_id = students.id);
Add Comment
Please, Sign In to add comment