[목차]
1. 라이브 세션 SQL 6회차 강의 인사이트 정리
2. 아티클 스터디 요약 및 개인 인사이트 정리
1. 라이브 세션 SQL 6회차 강의 인사이트 정리
1.1. 리뷰 및 강의내용 인사이트
- join을 통해 테이블은 연결 시 "공통 컬럼 > 관계성 > 적절한 join함수 선정"의 사고단계를 거쳐야 한다. 실무에서는 ERD를 통해 파악해볼 수 있지만 현 단계에선 우선 테이블별 모든 컬럼을 조회함을 통해 확인하는 것을 우선시하자!
- 테이블은 "펙트 테이블"과 "디멘션 테이블"로 구분할 수 있는데 쉽게 생각하면 "모든 정보를 가지고 있는 테이블" vs "특정 목적을 위해 정렬해 둔 테이블"이다.
- 테이블에 데이터 저장방식은 "Truncate"[신규 데이터가 기존 데이터를 덮어씌워서 저장], "Insert"[데이터가 들어온 순서대로 저장]로 구분되며, 용량상의 이슈 혹은 이용하고자 하는 목적(등급분류, 시간흐름 별 파악)에 따라 다르게 사용된다.
1.2. 과제 해설 인사이트
- group by로 구문을 적을 시 1, 2 보단 원래 컬럼명을 적는 것을 권장한다.(해석 및 타당성 체크 측면에서)
- 서브쿼리문으로 group by 기능을 재현할 수 있다 단! 저장단계를 하나 더 거치기에 계산시간이 좀 더 소모됨! 서브쿼리 없이 사용하는 것을 권장!
- case when을 group by 에 사용할 수 있다 단! case when 의 end 부분까지 즉, 연산하는 부분까지만 적어두어야 오류가 안난다.[별칭부여는 group by 절에 적지 않는다!]
- 서브쿼리문으로 join, union을 하여 필터링한 뒤 본쿼리문에서 그 컬럼들을 그대로 가져온다면 컬럼명을 일일이 적는 것이 원칙이나 " * "기호를 사용해도 된다.
- 컬럼1과 2가 상호 연결 관계가 있어(비례) 각각 distinct문과 카운팅을 서브쿼리문으로 하게 될 시 서브쿼리문에서 distinct를 사용했으면 본쿼리문에서 굳이 사용할 필요는 없다.
- join을 사용할 때 집계함수(특히 count)를 사용할 경우 공통컬럼을 이용하는 것이 좋다!(공통컬럼은 특히나 null값이 존재하지 않기에 사용에 적합! 다만, 공통 컬럼 중에서 PK! 기준 컬럼을 사용해야 한다!)
- case when과 left join은 현업에서 자주 사용되며 특히 전환율을 구할 때 자주 사용된다. join을 한 뒤 where를 통해 기준 컬럼의 null값 존재 유무로 간단히 전환율을 구할 수 있다!
- 서브쿼리에는 별칭부여를 가급적 사용하지 않아야 한다. 차후 검토에 지장이 일어난다!(문제풀이 혹은 면접문제에서 조건으로 주어지는 경우 제외)
- 과제 중에서 날짜 차이에 관한 조건식을 넣었었는데 이러한 조건식을 넣는 상황은 예외적인 상황을 배제하기 위함![버그성 행위, 처음에 잘못된 데이터 저장을 사전에 방지하기 위함]
- datediff 함수를 사용할 때 date_format을 사용했었다. 이때 서브쿼리와 같이 사용할 시 date_format은 서브쿼리문에 들어가도 되고 서브쿼리로 가져온 다음의 컬럼에 적용해도 된다. 즉, datediff와 date_format을 동시 적용 가능하다!
- join을 사용할 때 인라인뷰서브쿼리는 특정 컬럼을 가져온다는 의미 즉, 데이터 전체에 대한 1차적 필터링이다! 서브쿼리문은 1차적으로 저장을 한 뒤 그 다음의 연산을 수행하는 특징을 가지고 있어 내부에 복잡한 연산을 더 넣을 시 결과조회가 느려진다! 따라서 서브쿼리문을 사용하고자 한다면 연산보다는 "컬럼을 가져온다"는 목적에 맞춰서 우선적으로 사용하자! 연산에 서브쿼리는 가급적 쓰지 말자!
- SQL을 숙련의 핵심은 문제 해결 > 해결 속도 > 쿼리문 튜닝의 순서이다! 즉, 주니어는 sql 쿼리문 작성을 정확하게, 신속하게 하는 것에 집중하고 간결, 축약과 같은 행동은 차후에 해결하도록 하자.
2. 아티클 스터디 요약 및 개인 인사이트
"기획자도 파이썬을 배워야 하나요?-이론편"
https://yozm.wishket.com/magazine/detail/1357/
기획자도 파이썬을 배워야 하나요? - 1이론편 | 요즘IT
기획자이거나 기획자가 되고 싶은 당신, ‘나도 파이썬을 배워야 하지 않을까?’라는 고민을 한 적이 있지 않나요? 그런데 막상 배우면 실무에 도움이 되지 않을까봐 걱정되진 않았나요? 앞으로
yozm.wishket.com
2.1. 내용 요약
- 기획자에게 요구되는 데이터 분석 역량("데이터 추출", "전처리", "데이터 분석", "결과해석")과 관련하여, 파이썬은 데이터의 전처리와 분석에 큰 도움이 된다.
- 흔히 사용되는 엑셀과 비교할 때 파이썬의 장점은 다음과 같은 상황에서 드러난다.
a. "데이터의 양이 많을 때"
b. "다른 데이터를 동일 프로세스로 반복해 분석할 때"
c. "결측치를 동시 처리할 때"
d. "데이터를 다양하게 분석하는 방법에 대해 쉽게 접하고자 할 때"
e. "비용상 통계 분석 프로그램을 저렴하게 이용하고자 할 때"
f. "단순 요청상 개발자와의 소통비용을 줄이고자 할 때"
g. "타 기획자와의 경쟁력을 갖추고자 할 때"
- 파이썬의 장점을 살리고 실무에서의 필요수준을 가늠하자면, "프로그래밍 학원 파이썬 기초 강의 3개월 분량"과 그를 통한 "데이터 시각화" 가능이 대략적인 기준이라고 볼 수 있다.
2.2. 개인 인사이트
- 파이썬을 기획자의 관점에서(22년도 3월 시점) 보았을 때 그 필요 역랑이 심화된 수준을 원하지 않는다는 것이 인상적이었다.
- 파이썬을 통한 분석은 어디까지나 분석의 툴로써만(어플개발수준이 아님!) 활용할 수 있는 수준을 원하고 그것이 아직 유지되고 있다면, 분석툴을 다양하게 숙련하는 것보다 '분석'이나 '시각화'에 초점을 두어야 겠다고 생각하게 되었다.
- 한편으로는 현재 엑셀 또한 그 기능을 완전히 심화하여 사용하지 않는 것처럼 보인다.(엑셀로 게임을 만들 수 있다.) 파이썬도 향후 그와 같은 포지션(분석툴)을 유지할 지에 대한 의문이 든다.