일상

이번엔 진짜 끝장본다! SQL 공부 7일차

kopke19.5 2021. 10. 17. 00:37
728x90

해가 갈수록 데이터 분석에 대한 중요도와 함께 

분석가능한 데이터를 추출할 수 있는 역량도 중요해지고 있다.

 

그말인즉슨 데이터 부서는 데이터를 뽑아주는 공장이 아니라,

사내 데이터를 활용해 인사이트를 뽑아내는 부서로 포지셔닝되고 있다는 의미와 같다.

 

사실 데이터 지식이 없으면 데이터 추출을 위해 요건정의를 할 때나

담당자와 커뮤니케이션할 때도 상당히 애를 먹기 때문에 데이터 관련 기본지식은 탑재하고 있는 것이 좋다.

 

실제로 현재 몸담고 있는 부서에서는 부서원 중 2/3가 SQL을 능숙하게 다룰 줄 안다.

심지어 팀장님까지... 

 

결국 어찌됐건 데이터 역량은 이제는 선택이 아닌 의무가 되어버렸다는...!

 

나름 과거에는 카드사가 데이터를 잘 활용하는 업종에 속했기 때문에

기본적인 SQL지식은 있어서 접근장벽이 높지는 않을 것 같지만,

실제는 녹록치 않을 것이기에 고삐를 단단히 쥐어본다.

 

이달안에?

아니 가능하면 이번주 안에 기본 지식을 마스터하고,

이달안에 내가 원하는 데이터를 추출해보고 말겠다!!!

 

공부는 탈잉 강의로!


[오늘 공부한 내용]

- WHERE : 조건절

   * 가공한 값이 들어갈 수 있음

- 데이터값 입력 시에는 큰 따옴표("), 작은 따옴표(') 상관없음

   * but 데이터값에 작은 따옴표(')가 들어가 있는 경우에는 큰 따옴표로 입력해야함.

- 명령문은 대소문자 상관없으나 데이터값은 대소문자 구분 필요!

- = A : A와 같다

- != A : A와 같지 않다

- >=A : A보다 크거나 같다

- <=A : A보다 작거나 같다

- BETWEEN A AND B : A이상 B이하

- AND : 조건을 모두 만족해야할 때

- OR : 둘 중 하나만 만족해도 될 때

   * 조건이 두 개 이상인 경우에는 괄호로 묶어주기

- IN / NOT IN (A, B, ...) : 한 컬럼을 OR로 여러 개를 비교하는 경우(AND와 OR의 확장형)

- IS NULL / NOT NULL : 값이 비어있는지 여부

- LIKE 'A' / NOT LIKE 'A' : A를 포함/불포함하는 값

   ㅇ '%A%' : 위치에 관계없이 A를 포함하는 값

   ㅇ 'A%' : A로 시작하는 값

   ㅇ '%A' : A로 끝나는 값

- AS : 칼럼에 새로운 이름을 붙여주고 싶을때(생략가능)

- UPPER(칼럼) : 칼럼값을 대문자로

- LOWER(칼럼) : 칼럼값을 소문자로

 

Aggregation

- COUNT :  비어있는 값을 제외한 데이터수

   * COUNT(*), COUNT(A), COUNT(B)를 통해 NULL값 체크 가능

- MIN/MAX : 최소, 최대값

- SUM : 합계

- AVG : 평균

- GROUP BY : 피벗처럼 그루핑하는 기능

   * SELECT와 같은 칼럼이 들어가야함

   * 칼럼 위치에 따라 숫자로 대체입력 가능

- ORDER BY : 정렬 기능

   * 기본적으로 오름차순(내림차순으로 보고싶은 경우, 뒤에 DESC 입력)

   * 칼럼 위치에 따라 숫자로 대체입력 가능

- HAVING : 그룹화된 결과에 적용(GROUP BY 된 후 작동)

   * WHERE : (데이터 원본)개별 행에 적용 (GROUP BY 전에 작동)