DAY 8. 함수 활용하기
- 데이터 요약하기 위해서 평균, 합계, 최솟값, 최댓값 등을 계산해야한다. 조건을 주는 것 또한 데이터 분석 작업에서 많이 사용한다. 이러한 작업들은 SQL에서 간단한 함수를 통해 실행가능하다.
💡 숫자 데이터 요약하기
- COUNT 함수
- COUNT 함수는 데이터의 검증용으로도 많이 사용, NULL값이나 중복된 값이 있는지 쉽게 검증 가능하다.
함수 설명 비고 COUNT 행의 수를 나타낸다 NULL값을 포함한 전체 행의 수 : COUNT(*) NULL값을 제외한 전체 행의 수 : COUNT(열 이름) 중복을 제외한 행의 수 : COUNT(DISTINCT 열 이름)
- COUNT 함수는 데이터의 검증용으로도 많이 사용, NULL값이나 중복된 값이 있는지 쉽게 검증 가능하다.
- SUM, AVG, MAX, MIN, STDENV, VARIANCE 함수
- 집단(Population)에 대해 요약할 떄는 대표성을 갖는 수치가 필요하다. 이 수치는 합계, 평균, 편차로 요약할 수 있다. 편차는 최댓값과 최솟값 간의 거리, 표준 편차 분산 등으로 구분된다.
함수 설명 비고 SUM 행의 합계를 나타낸다 전체 합계 : SUM(열 이름) AVG 행의 평균을 나타낸다 평균 : AVG(열 이름) MAX 행의 최댓값을 나타낸다 최댓값 : MAX(열 이름) MIN 행의 최솟값을 나타낸다 최솟값 : MIN(열 이름) STDENV 행의 표준편차를 나타낸다 표준편차 : STDENV(열 이름) VARIANCE 행의 분산을 나타낸다 분산 : VARIANCE(열 이름)
- 집단(Population)에 대해 요약할 떄는 대표성을 갖는 수치가 필요하다. 이 수치는 합계, 평균, 편차로 요약할 수 있다. 편차는 최댓값과 최솟값 간의 거리, 표준 편차 분산 등으로 구분된다.
※ 계산 할 때 그냥 사용하면 NULL값을 가진열은 계산에서 생략되어 전체 값이 잘 못될 수 있다. NULL값을 0으로 치환해주는 COALESCE함수를 사용한 뒤 집계함수를 사용해라.
※ 별칭을 지정할 때 테이블에 존재하는 열 이름이 아닌 새로운 이름으로 지정하는 것이 좋다.
※숫자 형 데이터를 분석할 때 SUM, AVG, MIN, MAX 값을 사용하여 데이터를 검증하는 것은 중요하다. 점수의 최솟값이 -20이라면 데이터가 잘못 처리되었음을 검증을 할 수 있다.
💡 조건문 이해
- CASE WHEN
- 조건에 따른 결과값을 나타낼 수 있어 데이터 분석에 많이 사용된다
- [조건1]을 만족하면 [결과값1]을 나타내고, [조건2]를 만족하면 [결과값2]를 나타내라. 나머지는 [결과값3]으로 보여주고 이들 결과 값은 [새로운 열 이름]으로 나타내라
※ CASE WHEN을 집계함수와 DAY9에서 배울 GROUP BY절을 효율적으로 결합하면 효과적인 데이터 분석을 할 수 있다.SELECT 열 이름1 CASE WHEN [조건1] THEN [결과값1] WHEN [조건1] THEN [결과값1] ELSE [결과값3] END AS 새로운 열 이름 FROM 테이블명;
- CASE WHEN 함수에서 EQUAL(=)조건만 있을 경우 DECODE 함수를 사용할 수 있다. 물론 DBMS특성에 따라 지원이 안되는 경우도 있다.
SELECT 열 이름1, 열이름2, DECODE(열 이름, 조건1, 결과값1, 조건2, 결과값2, 조건3, 결과값3, 기본값) 새로운 열 이름 FROM 테이블명;
'💻 SQL > 🔎기초 SQL' 카테고리의 다른 글
[칼퇴족 김대리는 알고 나만 모르는 SQL 기초편] DAY 10. 테이블 합치기 (0) | 2022.01.31 |
---|---|
[칼퇴족 김대리는 알고 나만 모르는 SQL 기초편] DAY 9. 데이터의 그룹화, 필터링 (0) | 2022.01.31 |
[칼퇴족 김대리는 알고 나만 모르는 SQL 기초편] DAY 7. 기본 함수 배우기 (0) | 2022.01.30 |
[칼퇴족 김대리는 알고 나만 모르는 SQL 기초편] DAY 6. 텍스트 마이닝을 활용한 데이터 조건주기 (0) | 2022.01.30 |
[칼퇴족 김대리는 알고 나만 모르는 SQL 기초편] DAY 5. 논리 연산자를 활용한 데이터 조건주기 (0) | 2022.01.30 |