반응형
📌 이 글은 내돈내산으로 '[인프런] Joe의 배워서 바로 쓰는 SQL 쿼리' 강의 내용을 요약 정리한 것입니다.
Group by
- 집계 연산자(sum, count..)를 실행할 때 기준을 알려주는 라인
- 가령, '국가별로 회원가입자 수를 추출해'라는 명령어를 할 때, '국가별'에 해당하는 부분을 작성하는 것이 group by
- 기준은 2개 이상 작성할 수 있음. '국가별, 도시별, 성별로 나누어 회원가입자 수를 추출해줘!'와 같은 조건도 설정 가능.
- 엑셀에서 pivot을 실행할 때의 기준과도 같은 역할을 함.
실습 문제
- select 컬럼, count(*)는 '해당 기준 컬럼이 있는 행의 개수를 모두 세줘'라는 뜻.
- 기준 컬럼별 수를 세는 가장 정석적인 방법: select 컬럼, count(distinct 테이블의 ID)
- order by 할 때 긴 컬럼명을 다 써줄 필요 없이 위치를 숫자 표시로 해도 됨.
- ex. order by 2 desc
- 컬럼명이 너무 길다 싶으면 as를 써서 컬럼명을 짧게 바꿔줄 수도 있음 ex. cntID
Having
- group by를 통해 집계한 데이터에 필터를 걸고 싶을 때 사용하는 라인
- group by와 함께 쓰는 또다른 where절이라고 보면 됨 (group by 없이 사용 불가)
- 가령, 국가별 회원가입수를 추출해줘!로 나온 결과에서 회원가입자 수가 5명 이상인 결과만 보고 싶다면, having에서 조건을 설정해줌. (having count(*) >5)
- Sub Query를 통해 대체하는 방법도 있음
실습 문제
집계함수(Aggregate Function)
- 집계함수라는 뜻으로, 말 그대로 데이터를 집계하는 데에 사용함.
- select 절 뒤에서 사용하며 각 함수별로 사용법이 다소 상이함.
- 엑셀에서 자주 쓰는 함수들과 거의 유사함.
자주 사용하는 SQL Function 정리
- sum(colmn): 합계
- avg(colmn): 평균
- min(colmn), max(colmn): 최소, 최대값 가져오기
- count(distinct column), count(*): 개수 세기(*를 통해 count를 실행하면 null 값을 포함하여 카운트)
- select distinct Column1, Column2... : 고유값
- substr(column, star_num, end_num): 문자열, 날짜 데이터를 조건에 맞게 잘라줌
- select Column1 as '이름' : 이름 지어주기
- case when Condition1 then Value1
when Condition2 then Value2
else value3 end: 집계함수는 아니지만, 조건 설정(If) 시에 자주 쓰는 명령어 - len(column) : 길이 반환
- right(column), left(column), mid(column) : (오른쪽부터, 왼쪽부터, 중간부터) 문자열자르기
- upper(column), lower(column) : 대문자로 변환, 소문자로 변환
- ifnull(column, 0) : null값 처리
- 이 외에도 많은 함수들 존재하므로 외워서 사용하기 보다는 그때그때 필요할 때마다 구글링 하기
실습 문제
- group by는 '~별로'라고 해석할 때 사용하고 그 외 조건은 where 이용
- where절에서 Price = min(Price)해서는 안 되고 select절 전체를 적어줘야 함
- case when 조건문 쓸 때는 ',' 사용 하지 않기, 끝마칠 때 반드시 end 사용하기
강의 3일차 만에
벌써 전체 강의의 70%를 수강했다!
텐션 잃지 않고 이번 주에 완강해야지!
반응형
'서비스 기획해요 > 강의 들어요' 카테고리의 다른 글
[인프런] 배워서 바로 쓰는 SQL 쿼리_#5. 강의를 나가며 (1) | 2024.12.03 |
---|---|
[인프런] 배워서 바로 쓰는 SQL 쿼리_#4. SQL 중상급 활용(Join) (0) | 2024.12.03 |
[인프런] 배워서 바로 쓰는 SQL 쿼리_#2. SQL 기본 활용 (Query) (1) | 2024.12.01 |
[인프런] 배워서 바로 쓰는 SQL 쿼리_#1. 오리엔테이션 (1) | 2024.11.29 |
[인프런] PM을 위한 데이터 리터러시_#15. 전체 강의 총정리 & ChatGPT를 데이터 업무에 활용하기 & 완강 후기 (2) | 2024.11.24 |