이번엔 진짜 끝장본다! SQL 공부 7일차
해가 갈수록 데이터 분석에 대한 중요도와 함께
분석가능한 데이터를 추출할 수 있는 역량도 중요해지고 있다.
그말인즉슨 데이터 부서는 데이터를 뽑아주는 공장이 아니라,
사내 데이터를 활용해 인사이트를 뽑아내는 부서로 포지셔닝되고 있다는 의미와 같다.
사실 데이터 지식이 없으면 데이터 추출을 위해 요건정의를 할 때나
담당자와 커뮤니케이션할 때도 상당히 애를 먹기 때문에 데이터 관련 기본지식은 탑재하고 있는 것이 좋다.
실제로 현재 몸담고 있는 부서에서는 부서원 중 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 전에 작동)