
데이터 분석 부트캠프의 1주차가 끝났다.
SQL 기초 강의를 완강하면서 코딩 실력이 많이 향상된 것 같다.
- 데이터 추출
- 데이터 가공
- 데이터 시각화
- 인사이트 도출
: 데이터를 추출할 때 사용하는 언어. (PYTHON도 사용한다.)
SELECT
FROM
WHERE
Group by
Having
Order by
이 코드가 적용되는 순서는
From > on > join > WHERE > Group by > Having > SELECT > distinct > Order by 이다.
count(1) : 전체 수량을 카운트해줘
and : 그리고 이 조건도 포함
or : 이 조건이나 저 조건이나 하나라도 포함
not / is not : 아닌
like '%a' : 뒤에 a가 오는 것
between A and B : A와 B사이의 값 (A,B 포함)
in (A, B, C) : A,B,C를 포함하는 값
avg() : 평균
min() : 최솟값
max() : 최대값
sum() : 총 합
null : 빈 값 (null은 문자 null / is null은 공란)
desc : 역순 (내림차순 정렬할 때 order by 뒤에 사용)
distinct : 다른 (중복 값 처리할 때 사용)
replace(A, B, C) : A에 속한 B를 C로 바꿔줘
concat(A, B, C) : A와 B와 C를 합쳐줘
substr(A, 1, 2) : A에 속한 첫번째 글자부터 두번째 글자까지 추출해줘
if(A<>null, rating, 0) : A의 값이 null이 아니면, rating해주고, null이면 0으로 해줘
case when A then B when C then D else E end "F" : 만약 A이면 B라고 해줘, 만약 C면 D라고 하고, 아니면 다 E라고 해줘 그리구 그 컬럼을 F라고 불러줘
() : subquery, 한번 추출한 데이터를 다시 또 사용할 때 ()로 묶어준다.
From A a left join B b on a.공통컬럼명=b.공통컬럼명 : A와 B테이블의 데이터를 A테이블 기준으로 합쳐줘
From A a inner join B b on a.공통컬럼명=b.공통컬럼명 : A와 B테이블의 데이터 중 공통된 데이터만 추출해줘
coalesce(A.age, 20) "null 제거" : A테이블의 age컬럼에 값이 없다면 20으로 대체하고 그 컬럼을 null 제거 라고 불러줘
rank() over(partition by A order by B) ranking : A컬럼을 기준으로 순위를 따질건데 B가 많은 것 부터 순위를 매길거야 컬럼이름은 ranking이라고 불러줘
sum(A) over(partition by B) sum_1 : A컬럼의 합계를 구할건데 B컬럼 기준으로 합계를 구해서 sum_1이라고 컬럼명을 지정해줘
sum(A) over(partiton by B order by A) sum_2 : A컬럼의 누적합계를 구할건데 B컬럼 기준으로 값을 더하는데 A컬럼의 값이 큰 것부터 순차적으로 더해서 값을 표시하고 sum_2라고 컬럼명을 지정해줘
DATE(A) : A컬럼의 데이터들을 날짜화 해줘
date_format(DATE(date), '%w') "요일" : A컬럼의 값을 데이터화해서 요일값만 남겨주고 "요일"이라고 컬럼명을 지정해줘
이보다 더 많은 함수들을 실습하며 익혔지만,
가장 중요하고 꼭 기억해야하는 기본적인 함수들은 위의 것들이다.
혹시 잘 생각나지 않는다면 이 페이지를 보며 연습해보자
새로운 루틴을 매일 반복하고 적응하느라 조금은 힘들었지만
그래도 매일 아침 눈을 뜨면서 개운함을 느끼게 되었다!
솔직히 막막하기도 하고 어렵기도 하지만
하나씩 이해할때마다 쾌감을 느끼고 있다.
모르는 문제나 이해가 가지 않는 코드가 있을 때마다
팀원분들께 여쭤보면 정말 친절하고 자세하게 설명해주신다..
DATOS팀 사랑했어요..♡
다음주부터 팀이 바뀌어서 아쉽지만
또 좋은분들을 만나게 될거라 믿는다!
이번주도 고생했어
다음주도 화이팅!!