반응형
[문과 코린이의 IT 기록장] MSSQL - GROUP BY 추가 설명, 다중 그룹
< 참고 강의 영상 >
MSSQL Server 2016 기반의 데이터베이스 입문에서 활용까지 Part.2 대시보드 - 인프런 | 강의 (inflearn.com)
2022.01.21 - [문과 코린이의, [SQL] 기록] - [문과 코린이의 IT 기록장] MSSQL - 비교연산자, 논리연산자
1. GROUP BY 추가 설명
* GROUP BY 참고
* 아래 예시 쿼리 내용 (자료)
ex 1) 영화 테이블에서 각 장르별 영화 갯수를 출력하시오.
SELECT genre 영화장르, COUNT(*) 영화수 -- 이를 보고 장르별 GROUP BY를 사용한다는 것을 파악해야함
FROM dbo.tbl_movie
GROUP BY genre
ORDER BY COUNT(*) DESC;
ex 2) GROUP BY를 사용해 2개의 컬럼 묶기
-- GTROUP BY를 사용하여 2개 컬럼 묶기
SELECT release '개봉년도', title '영화제목'
FROM dbo.tbl_movie
GROUP BY release, title
ORDER BY release DESC; -- 최근순
-- 업데이트 후, 결과 재확인 과정
UPDATE dbo.tbl_movie
SET title='기생충'
WHERE id = 10;
2. 다중 그룹
ex 1) 영화 테이블에서 연도별, 장르별 갯수를 출력하시오.
SELECT release, genre, COUNT(*) AS '갯수'
FROM dbo.tbl_movie
GROUP BY release, genre
ORDER BY release DESC; -- 최근순
ex 2) 영화, 음악 두 테이블에서 가수와 감독을 겸직하는 사람의 이름과 곡명을 출력하시오.
SELECT DISTINCT A.title,B.director -- 중복 제거
FROM dbo.tbl_music AS A, dbo.tbl_movie AS B
WHERE A.singer = B.director
ORDER BY director;
SELECT A.title,B.director
FROM dbo.tbl_music AS A, dbo.tbl_movie AS B
WHERE A.singer = B.director
GROUP BY A.title, B.director -- GROUP BY는 WHERE보다 뒤에 존재해야 함. (묶어주면 기본적으로 중복 제거)
-- 이를 사용했다면, 위에 SEELCT절에 바로 집계함수들을 사용할 수 있음.
ORDER BY director;
* 유의사항 - 아직 공부하고 있는 문과생 코린이가, 정리해서 남겨놓은 정리 및 필기노트입니다. - 정확하지 않거나, 틀린 점이 있을 수 있으니, 유의해서 봐주시면 감사하겠습니다. - 혹시 잘못된 점을 발견하셨다면, 댓글로 친절하게 남겨주시면 감사하겠습니다 :) |
반응형