반응형
여러 테이블 조인하기
(1) 일단 세 테이블을 이너 조인(INNER JOIN)하세요.
*조인 기준은 다음과 같이 하면 됩니다
review 테이블의 item_id 컬럼 - item 테이블의 id 컬럼 / review 테이블의 mem_id 컬럼 - member 테이블의 id 컬럼
(2) 그리고 item 테이블의 gender 컬럼의 값이 u인 row들만 선별하세요.
(3) item 테이블의 registration_date 컬럼에서 연도를 추출해서 이것(상품 등록 연도)을 기준으로 row들을 그루핑하세요.
(4) 각 그룹 내 row 개수가 10개 이상인 그룹들만 추리세요.
(5) 결과를 별점 평균값을 기준으로 내림차순 정렬하세요.
(6) 컬럼은 총 세 개를 조회하세요.
a) 상품 등록 연도 컬럼('등록 연도'라는 alias를 붙이세요.)
b) 각 그룹 내 row의 개수('리뷰 개수'라는 alias를 붙이세요.)
c) 각 그룹별 별점 평균값('별점 평균값'이라는 alias를 붙이세요.)
SELECT
YEAR(i.registration_date) AS '등록 연도',
COUNT(*) AS '리뷰 개수',
AVG(star) AS '벌점 평균값'
FROM
review AS r INNER JOIN item AS i
ON r.item_id = i.id
INNER JOIN member AS m
ON r.mem_id = m.id
WHERE i.gender = 'u'
GROUP BY YEAR(i.registration_date)
HAVING COUNT(*) >= 10
ORDER BY AVG(star) DESC;
본 내용은 Codeit의 '개발자를 위한 SQL 데이터베이스' 강의를
참고하여 작성한 내용입니다.
반응형
'Back-end > SQL' 카테고리의 다른 글
[SQL로 하는 데이터 분석] 06. 서브쿼리와 뷰를 활용한 유연한 데이터 분석 (0) | 2021.03.27 |
---|---|
[SQL로 하는 데이터 분석] 06. 서브쿼리와 뷰를 활용한 유연한 데이터 분석 (0) | 2021.03.27 |
[SQL로 하는 데이터 분석] 05. 데이터 분석 단계로 나아가기 (0) | 2021.03.26 |
[SQL로 하는 데이터 분석] 04. 데이터 분석 단계로 나아가기 (0) | 2021.03.23 |
[SQL로 하는 데이터 분석] 04. 데이터 분석 단계로 나아가기 (0) | 2021.03.23 |