Module Feedback

From SQLZoo

This system records the responses of students on their learning experience at university.

Most students study three modules every session, they are invited to respond to 19 questions regarding their experience. For each question, for each student the response can be from 1 (definitely disagree) to 5 (strongly agree).

Find the student name from a matriculation number

Find the name of the student with number 50200100

SELECT SPR_FNM1, SPR_SURN
  FROM INS_SPR
  WHERE SPR_CODE='50200100'

Find the modules studied by a student

Show the module code and module name for modules studied by the student with number 50200100 in session 2016/7 TR1

SELECT CAM_SMO.MOD_CODE,INS_MOD.MOD_NAME
  FROM INS_MOD JOIN CAM_SMO ON (INS_MOD.MOD_CODE=CAM_SMO.MOD_CODE)
 WHERE CAM_SMO.SPR_CODE='50200100'
   AND CAM_SMO.AYR_CODE='2016/7'
   AND CAM_SMO.PSL_CODE='TR1'


Find the modules and module leader studied by a student

Show the module code and module name and details of the module leader for modules studied by the student with number 50200100 in session 2016/7 TR1

SELECT CAM_SMO.MOD_CODE, INS_MOD.MOD_NAME,
       INS_PRS.PRS_CODE, INS_PRS.PRS_FNM1, INS_PRS.PRS_SURN
  FROM CAM_SMO JOIN INS_MOD ON (INS_MOD.MOD_CODE=CAM_SMO.MOD_CODE)
               JOIN INS_PRS ON (INS_MOD.PRS_CODE=INS_PRS.PRS_CODE)
 WHERE CAM_SMO.SPR_CODE='50200100'
   AND CAM_SMO.AYR_CODE='2016/7'
   AND CAM_SMO.PSL_CODE='TR1'

Show the scores for module SET08108

Show the Percentage of students who gave 4 or 5 to module SET08108 in session 2016/7 TR1

(note that this is not real data, these responses were randomly generated)

SELECT INS_RES.QUE_CODE, QUE_TEXT,CAT_NAME,
       ROUND(100*SUM(FLOOR(RES_VALU/4))/COUNT(1)) as score
  FROM INS_RES JOIN INS_QUE ON INS_RES.QUE_CODE=INS_QUE.QUE_CODE
               JOIN INS_CAT ON INS_QUE.CAT_CODE=INS_CAT.CAT_CODE
 WHERE INS_RES.MOD_CODE='SET08108'
   AND INS_RES.AYR_CODE='2016/7'
   AND INS_RES.PSL_CODE='TR1'
GROUP BY QUE_CODE,QUE_TEXT,CAT_NAME


Show the frequency chart for module SET08108 for question 4.1

For each response 1-5 show the number of students who gave that response (Module SET08108, 2016/7, TR1)

(note that this is not real data, these responses were randomly generated)

SELECT MOD_CODE,RES_VALU,COUNT(1)
  FROM INS_RES
 WHERE INS_RES.MOD_CODE = 'CSN08101'
   AND INS_RES.AYR_CODE='2016/7'
   AND INS_RES.PSL_CODE='TR1'
   AND INS_RES.QUE_CODE='4.1'
GROUP BY MOD_CODE, RES_VALU