SQL, 데이터 분석!

SQL, 데이터 분석!

바로 보고 실습하는 SQL, 입문부터 활용까지!

04 필터링과 SELECT절(feat. 산술 연산)

# 필터링과 SELECT절(feat. 산술 연산) ## 미션 --- 주어진 students 테이블에서 다음 정보를 조회하시오. - 모든 과목 성적이 다 90점 이상인 학생 정보 - 75점 미만 과목이 하나라도 있는 학생 정보 - 모든 학생별 정보와 성적 총점 - 모든 학생별 정보와 성적 평균 - 총점이 270 이상인 학생의 닉네임, 성적 총점, 성적 평균 | id | nickname | math_score | english_score | programming_score | |:--:|:--:|:--:|:--:|:--:| | 1 | Sparkles | 98 | 96 | 93 | | 2 | Soldier | 82 | 66 | 98 | | 3 | Lapooheart | 84 | 70 | 82 | | 4 | Slick | 87 | 99 | 98 | | 5 | Smile | 75 | 73 | 70 | | 6 | Jellyboo | 84 | 82 | 70 | | 7 | Bagel | 97 | 91 | 87 | | 8 | Queen | 99 | 100 | 88 | ## 준비 --- 다음 쿼리를 수행하여, 실습을 위한 학생 DB를 구축할 것. ``` -- 학생 테이블 생성 CREATE TABLE students ( id INTEGER, -- 학생 id nickname VARCHAR(50), -- 닉네임 math_score INTEGER, -- 수학 성적 english_score INTEGER, -- 영어 성적 programming_score INTEGER -- 프로그래밍 성적 ); -- 학생 레코드 추가 INSERT INTO students(id, nickname, math_score, english_score, programming_score) VALUES (1, 'Sparkles', 98, 96, 93), (2, 'Soldier', 82, 66, 98), (3, 'Lapooheart', 84, 70, 82), (4, 'Slick', 87, 99, 98), (5, 'Smile', 75, 73, 70), (6, 'Jellyboo', 84, 82, 70), (7, 'Bagel', 97, 91, 87), (8, 'Queen', 99, 100, 88) ; ``` ## 실습 --- #### 모든 성적이 90점 이상인 학생 ``` -- 모든 과목 성적이 다 90점 이상인 학생 정보 SELECT * FROM students WHERE -- 다양한 조건을 AND 연산으로 조회할 것 ; ``` #### 75점 미만 과목이 하나라도 있는 학생 ``` -- 75점 미만 과목이 하나라도 있는 학생 정보 SELECT * FROM students WHERE -- 다양한 조건을 OR 연산으로 풀이할 것 ; ``` #### 모든 학생별 정보와 성적 총점 ``` SELECT *, -- 이곳에 모든 성적을 더하고 별칭을 추가할 것 FROM students ; ``` #### 모든 학생별 정보와 성적 평균 ``` SELECT *, -- 이곳에 성적 평균을 계산한 뒤, 별칭을 추가할 것 FROM students ; ``` #### 총점이 270 이상인 학생의 닉네임, 총점, 평균 ``` SELECT -- 닉네임과 총점, 그리고 평균을 선택할 것 FROM students WHERE -- 총점이 270을 넘는 조건으로 필터링할 것 ; ```