Skip to content

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. Explore the students data using PostgreSQL to find out if this is true 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
japanese_cateJapanese language proficiency
english_cateEnglish language proficiency
academicCurrent academic level
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)
Spinner
DataFrameas
df
variable
--Printing the table for review
SELECT *
FROM students;
Spinner
DataFrameas
df
variable
--Calculating the average stay of an international student
SELECT AVG(stay)
FROM students
WHERE inter_dom = 'Inter';
Spinner
DataFrameas
df
variable
--Looking at available summary statistics in the "students" table
--Round the min, max, and average for each category, then aliasing
SELECT ROUND(MIN(todep), 2) AS min_phq,
       ROUND(MAX(todep), 2) AS max_phq,
       ROUND(AVG(todep), 2) AS average_phq,
       
       ROUND(MIN(tosc), 2) AS min_scs,
       ROUND(MAX(tosc), 2) AS max_scs,
       ROUND(AVG(tosc), 2) AS average_scs,
       
       ROUND(MIN(toas), 2) AS min_as,
       ROUND(MAX(toas), 2) AS max_as,
       ROUND(AVG(toas), 2) AS average_as
FROM students;
Spinner
DataFrameas
df
variable
--Same as above, but solely for international students
--Round the min, max, and average for each category, then aliasing
SELECT inter_dom,
       ROUND(MIN(todep), 2) AS min_phq,
       ROUND(MAX(todep), 2) AS max_phq,
       ROUND(AVG(todep), 2) AS average_phq,
       
       ROUND(MIN(tosc), 2) AS min_scs,
       ROUND(MAX(tosc), 2) AS max_scs,
       ROUND(AVG(tosc), 2) AS average_scs,
       
       ROUND(MIN(toas), 2) AS min_as,
       ROUND(MAX(toas), 2) AS max_as,
       ROUND(AVG(toas), 2) AS average_as
FROM students
WHERE inter_dom = 'Inter'
GROUP BY inter_dom;
Spinner
DataFrameas
df
variable
--For domestic students
SELECT inter_dom,
       ROUND(MIN(todep), 2) AS min_phq,
       ROUND(MAX(todep), 2) AS max_phq,
       ROUND(AVG(todep), 2) AS average_phq,
       
       ROUND(MIN(tosc), 2) AS min_scs,
       ROUND(MAX(tosc), 2) AS max_scs,
       ROUND(AVG(tosc), 2) AS average_scs,
       
       ROUND(MIN(toas), 2) AS min_as,
       ROUND(MAX(toas), 2) AS max_as,
       ROUND(AVG(toas), 2) AS average_as
FROM students
WHERE inter_dom = 'Dom'
GROUP BY inter_dom;
Spinner
DataFrameas
df
variable
--Shows how the length of stay of an international student impacts the average diagnostic scores
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;