Skip to content
Project: Analyzing Students' Mental Health in SQL
  • AI Chat
  • Code
  • Report
  • Does going to university in a different country affect your mental health? A Japanese international university surveyed its students in 2018 and published a study the following year that was approved by several ethical and regulatory boards.

    The study found that international students have a higher risk of mental health difficulties than the general population, and that social connectedness (belonging to a social group) and acculturative stress (stress associated with joining a new culture) are predictive of depression.

    Explore the students data using PostgreSQL to find out if you would come to a similar conclusion for international students and see if the length of stay is a contributing factor.

    Here is a data description of the columns you may find helpful.

    Field NameDescription
    inter_domTypes of students (international or domestic)
    japanese_cateJapanese language proficiency
    english_cateEnglish language proficiency
    academicCurrent academic level (undergraduate or graduate)
    ageCurrent age of student
    stayCurrent length of stay in years
    todepTotal score of depression (PHQ-9 test)
    toscTotal score of social connectedness (SCS test)
    toasTotal score of acculturative stress (ASISS test)
    Unknown integration
    DataFrameavailable as
    students
    variable
    -- Saving the CSV file as students
    SELECT *
    FROM 'students.csv';
    Unknown integration
    DataFrameavailable as
    df1
    variable
    -- How many international and domestic students are in the dataset? 
    -- Using a window function to count the total ammount of records in the dataset in order to compare the total number and number of international and domestic students.
    
    SELECT inter_dom AS type_of_students, COUNT (*) AS count_inter_dom, 
    	(SELECT COUNT () OVER ()
    	FROM students) AS total_records
    FROM students
    GROUP BY inter_dom ;
    Unknown integration
    DataFrameavailable as
    df2
    variable
    -- Query the data where the students are neither International nor Domestic, including NULL values
    
    SELECT *
    FROM students
    WHERE inter_dom NOT LIKE 'I%' AND inter_dom NOT LIKE 'D%' OR inter_dom IS NULL;
    Unknown integration
    DataFrameavailable as
    df3
    variable
    -- Which regions are the international students from?
    
    SELECT region, COUNT (inter_dom) AS count_inter
    FROM students
    WHERE inter_dom = 'Inter'
    GROUP BY region;
    Unknown integration
    DataFrameavailable as
    df4
    variable
    -- What are the summary statistics of the diagnostics scores (depression - PHQ-9 test ('todep' field), social connectedness - SCS test ('tosc' field), acculturative stress - ASISS test ('toas' field)) for all students?
    
    SELECT
    	MIN(todep) AS min_phq,
    	MAX(todep) AS max_phq,
    	ROUND (AVG(todep), 2) AS avg_phq,
    		MIN(tosc) AS min_scs,
    		MAX(tosc) AS max_scs,
    		ROUND (AVG(tosc), 2) AS avg_scs,
    	MIN(toas) AS min_as,
    	MAX(toas) AS max_as,
    	ROUND(AVG(toas), 2) AS avg_as
    FROM students;
    Unknown integration
    DataFrameavailable as
    df5
    variable
    -- Narrowing down the summary statistics of the dianostics scores for the international students only and grouping results by students' age.
    
    SELECT age,
    	MIN(todep) AS min_phq,
    	MAX(todep) AS max_phq,
    	ROUND (AVG(todep), 2) AS avg_phq,
    		MIN(tosc) AS min_scs,
    		MAX(tosc) AS max_scs,
    		ROUND (AVG(tosc), 2) AS avg_scs,
    	MIN(toas) AS min_as,
    	MAX(toas) AS max_as,
    	ROUND(AVG(toas), 2) AS avg_as
    FROM students
    WHERE inter_dom = 'Inter'
    GROUP BY age
    ORDER BY age;
    Unknown integration
    DataFrameavailable as
    df
    variable
    -- How does the length of stay of international students affect the average diagnostic scores?
    -- Diagnostic scores: depression - PHQ-9 test ('todep' field), social connectedness - SCS test ('tosc' field), acculturative stress - ASISS test ('toas' field).
    
    SELECT stay, 
    	ROUND (AVG(todep), 2) AS average_phq,
    	ROUND (AVG(tosc), 2) AS average_scs,
    	ROUND(AVG(toas), 2) AS average_as
    FROM students
    WHERE inter_dom = 'Inter'
    GROUP BY stay
    ORDER by stay DESC;
    

    Based on the results from the queries above, it can be concluded that international students with longer durations of stay tend to have higher average depression scores and relatively lower scores of social connectedness. On the other hand, the length of stay shows an inverse relationship with acculturative stress scores. This implies that students who have not been away from home for an extended period might experience more homesickness and/or cultural shock.