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 Name | Description |
|---|---|
inter_dom | Types of students (international or domestic) |
japanese_cate | Japanese language proficiency |
english_cate | English language proficiency |
academic | Current academic level (undergraduate or graduate) |
age | Current age of student |
stay | Current length of stay in years |
todep | Total score of depression (PHQ-9 test) |
tosc | Total score of social connectedness (SCS test) |
toas | Total score of acculturative stress (ASISS test) |
-- Run this code to view the data in students
SELECT *
FROM students;SELECT COUNT(*)
FROM public.studentsSELECT COUNT(*) AS total_count,
SUM(public.students.todep) AS total_sum,
AVG(public.students.todep) AS average,
MIN(public.students.todep) AS min_value,
MAX(public.students.todep) AS max_value
FROM public.students;SELECT COUNT(*) AS total_count,
SUM(public.students.tosc) AS total_sum,
AVG(public.students.tosc) AS average,
MIN(public.students.tosc) AS min_value,
MAX(public.students.tosc) AS max_value
FROM public.students;SELECT COUNT(*) AS total_count,
SUM(public.students.apd) AS total_sum,
AVG(public.students.apd) AS average,
MIN(public.students.apd) AS min_value,
MAX(public.students.apd) AS max_value
FROM public.students;SELECT COUNT(*) AS total_count,
SUM(public.students.ahome) AS total_sum,
AVG(public.students.ahome) AS average,
MIN(public.students.ahome) AS min_value,
MAX(public.students.ahome) AS max_value
FROM public.students;SELECT inter_dom, COUNT(*) AS count_inter
FROM public.students
WHERE inter_dom = 'inter'
GROUP BY inter_dom;
SELECT public.students.inter_dom, COUNT(public.students.inter_dom) AS count_per_category
FROM public.students
GROUP BY public.students.inter_dom;
SELECT COUNT(public.students.inter_dom) AS count_inter
FROM public.students
WHERE public.students.inter_dom = 'inter';
SELECT
stay,
COUNT(CASE WHEN inter_dom = 'inter' THEN 1 END) AS count_int,
ROUND(AVG(CASE WHEN inter_dom = 'inter' THEN todep END), 2) AS average_phq,
ROUND(AVG(CASE WHEN inter_dom = 'inter' THEN tosc END), 2) AS average_scs,
ROUND(AVG(CASE WHEN inter_dom = 'inter' THEN toas END), 2) AS average_as
FROM
students
GROUP BY
stay
ORDER BY
stay DESC
LIMIT 9;
-- Find the number of international students and their average scores by length of stay, in descending order of length of stay
SELECT stay,
COUNT(*) AS count_int,
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;