230905_postgreSQL_3

장종민·2023년 9월 5일

mentor

목록 보기
19/24

https://www.kaggle.com/datasets/spscientist/students-performance-in-exams

  1. student_scores 테이블에서 math_score가 70 이상인 학생들의 수를 출력하세요.
  2. student_scores 테이블에서 writing_score가 90보다 작은 여성 학생들의 수를 출력하세요.
  3. student_scores 테이블에서 parental_education가 "master's degree"이거나 "bachelor's degree"인 학생들의 수를 출력하세요.
  4. student_scores 테이블에서 lunch가 "free/reduced"이고 reading_score가 80 이상인 학생들의 수를 출력하세요.
  5. student_scores 테이블에서 race_ethnicity가 "group A"이거나 "group B"이면서 test_preparation_course를 수료한 학생들의 수를 출력하세요.
  6. student_scores 테이블에서 parental_education별로 평균 writing_score를 출력하세요.
  7. student_scores 테이블에서 lunch가 "standard"인 남성 학생들 중에서 math_score가 가장 높은 학생의 정보를 출력하세요.
  8. student_scores 테이블에서 test_preparation_course를 수료한 여성 학생들의 평균 writing_score를 출력하세요.
  9. student_scores 테이블에서 math_score, reading_score, writing_score의 평균 점수를 계산하여 출력하세요.
  10. student_scores 테이블에서 gender별로 평균 math_score를 출력하세요.

예시

문제 1:
student_scores 테이블에서 math_score가 70 이상인 학생들의 수를 출력하세요.

답 1:

SELECT COUNT(*) FROM student_scores WHERE math_score >= 70;
409

문제 2:
student_scores 테이블에서 writing_score가 90보다 작은 여성 학생들의 수를 출력하세요.

답 2:

SELECT COUNT(*) FROM student_scores WHERE gender = 'female' AND writing_score < 90;
454

문제 3:
student_scores 테이블에서 parental_education가 "master's degree"이거나 "bachelor's degree"인 학생들의 수를 출력하세요.

답 3:

SELECT COUNT(*) FROM student_scores WHERE parental_education = 'master''s degree' OR parental_education = 'bachelor''s degree';

177

문제 4:
student_scores 테이블에서 lunch가 "free/reduced"이고 reading_score가 80 이상인 학생들의 수를 출력하세요.

답 4:

SELECT COUNT(*) FROM student_scores WHERE lunch = 'free/reduced' AND reading_score >= 80;
55

문제 5:
student_scores 테이블에서 race_ethnicity가 "group A"이거나 "group B"이면서 test_preparation_course를 수료한 학생들의 수를 출력하세요.

답 5:

SELECT COUNT(*) FROM student_scores WHERE (race_ethnicity = 'group A' OR race_ethnicity = 'group B') AND test_preparation_course = 'completed';
99

문제 6:
student_scores 테이블에서 parental_education별로 평균 writing_score를 출력하세요.

답 6:

SELECT parental_education, AVG(writing_score) FROM student_scores GROUP BY parental_education;

"master's degree"    75.6779661016949153
"some college"    68.8407079646017699
"bachelor's degree"    73.3813559322033898
"high school"    62.4489795918367347
"associate's degree"    69.8963963963963964
"some high school"    64.8882681564245810

문제 7:
student_scores 테이블에서 lunch가 "standard"인 남성 학생들 중에서 math_score가 가장 높은 학생의 정보를 출력하세요.

답 7:

SELECT * FROM student_scores WHERE lunch = 'standard' AND gender = 'male' ORDER BY math_score DESC LIMIT 1;

그룹A에 수료하고 100/96/86인 남자학생

문제 8:
student_scores 테이블에서 test_preparation_course를 수료한 여성 학생들의 평균 writing_score를 출력하세요.

답 8:

SELECT AVG(writing_score) FROM student_scores WHERE gender = 'female' AND test_preparation_course = 'completed';

78.7934782608695652

문제 9:
student_scores 테이블에서 math_score, reading_score, writing_score의 평균 점수를 계산하여 출력하세요.

답 9:

SELECT AVG(math_score) AS avg_math_score, AVG(reading_score) AS avg_reading_score, AVG(writing_score) AS avg_writing_score
FROM student_scores;

66.089
69.169
68.054

문제 10:
student_scores 테이블에서 gender별로 평균 math_score를 출력하세요.

답 10:

SELECT gender, AVG(math_score) FROM student_scores GROUP BY gender;

68.7282157676348548/63.6332046332046332
profile
비전공 오르미부트캠프 2기

0개의 댓글