비교 연산자
= : 같음
<> : 같지 않음
>= : ~보다 크거나 같음
<= : ~보다 작거나 같음
> : ~보다 큼
< : ~보다 작음
논리 연산자
AND : 앞, 뒤 조건 모두 만족
NOT : 뒤에 오는 조건과 반대
OR : 하나라도 만족
특수 연산자
BETWEEN a AND b : a와 b의 값 사이
NOT BETWEEN a AND b : a와 b의 값 사이가 아님
IN (List) : 리스트 값
NOT IN (List) : 리스트 값이 아님
LIKE '비교문자열%' : ~로 시작하는
LIKE '%비교문자열' : ~로 끝나는
LIKE '%비교문자열%' : ~를 포함하는
NOT LIKE '%비교문자열%' : ~를 제외하는
IS NULL : NULL
IS NOT NULL : NOT NULL
산술 연산자 : +, -, *
집합 연산자 (열 개수와 데이터 타입 일치)
UNION : 2개 이상 테이블의 중복된 행을 제거 하여 집합
UNION ALL : 2개 이상 테이블의 중복된 행들을 제거 없이 집합
함수 : 단일 및 복수 행 그리고 윈도우 함수로 나뉘며, 특정 규칙에 의해 새로운 값으로 반환하는 명령어
단일 행 함수 : 모든 행에 대하여 각각 함수가 적용되어 반환 (숫자형, 문자형, 날짜형, 형변환), 함수들을 중첩해서 사용가능
ABS(숫자) : 절대값 반환
ROUND(숫자, N) : N 기준으로 반올림 값 반환
SQRT(숫자) : 제곱근 값 반환
LOWER(문자) : 소문자 반환
UPPER(문자) : 대문자 반환
LEFT(문자, N) : 왼쪽부터 N만큼 반환
RIGHT(문자, N) : 오른쪽부터 N만큼 반환
LENGTH(문자) : 문자수 반환
YEAR(날짜) : 연 반환
MONTH(날짜) : 월 반환
DAY(날짜) : 일 반환
DATE_ADD(날짜, INTERVAL) : INTERVAL만큼 더한 값 반환
DATEDIFF(날짜a, 날짜b) : 날짜 a - 날짜 b 일수 반환
DATE_FORMAT(날짜, 형식) : 날짜형식으로 변환
CAST(형식a, 형식b) : 형식a를 형식b로 반환
IFNULL(A, B) : A가 NULL이면 B 반환, 아니면 A 반환
CASE WHEN [조건1] THEN [반환1]
WHEN [조건2] THEN [반환2]
ELSE [나머지] END
: 여러 조건별로 반환값 지정
복수 행 함수 : 여러 행들이 하나의 결과값으로 반환 (집계, 그룹 함수), 주로 GROUP BY절과 함께 사용
COUNT(a) : 행수
COUNT(DISTINCT a) : 중복제거된 행수
SUM(a) : 합계
AVG(a) : 평균
MAX(a) : 최대
MIN(a) : 최소
WITH ROLLUP : GROUP BY 열들을 오른쪽에서 왼쪽순으로 그룹 (소계, 합계)
윈도우 함수 : 행과 행간의 관계를 정의하여 결과 값 반환 (순위, 집계 (누적)), ORDER BY로 행과 행간의 순서를 정하며, PARTITION BY로 그룹화 가능
ROW_NUMBER() OVER (ORDER BY ORDER_DATE ASC) : 고유한 순위 반환
RANK() OVER (ORDER BY ORDER_DATE ASC) : 동일한 순위 반환
DENSE_RANK() OVER (ORDER BY ORDER_DATE ASC) : 동일한 순위 반환 하나의 등수
ROW_NUMBER() OVER (PARITITION BY MEN_NO ORDER BY ORDER_DATE ASC) : 고유한 순위 반환
RANK() OVER (PARITITION BY MEN_NO ORDER BY ORDER_DATE ASC) : 동일한 순위 반환
DENSE_RANK() OVER (PARITITION BY MEN_NO ORDER BY ORDER_DATE ASC) : 동일한 순위 반환 하나의 등수
집계 함수 (누적)
COUNT(ORDER_NO) OVER (ORDER BY ORDER_DATE ASC) : 누적 구매횟수
SUM(SALES_QTY) OVER (ORDER BY ORDER_DATE ASC) : 누적 구매수량
AVG(SALES_QTY) OVER (ORDER BY ORDER_DATE ASC) : 누적 평균구매수량
MAX(SALES_QTY) OVER (ORDER BY ORDER_DATE ASC) : 누적 가장높은구매수량
MIN(SALES_QTY) OVER (ORDER BY ORDER_DATE ASC) : 누적 가장낮은구매수량
COUNT(ORDER_NO) OVER (PARITITION BY MEN_NO ORDER BY ORDER_DATE ASC) : 누적 구매횟수
SUM(SALES_QTY) OVER (PARITITION BY MEN_NO ORDER BY ORDER_DATE ASC) : 누적 구매수량
AVG(SALES_QTY) OVER (PARITITION BY MEN_NO ORDER BY ORDER_DATE ASC) : 누적 평균구매수량
MAX(SALES_QTY) OVER (PARITITION BY MEN_NO ORDER BY ORDER_DATE ASC) : 누적 가장높은구매수량
MIN(SALES_QTY) OVER (PARITITION BY MEN_NO ORDER BY ORDER_DATE ASC) : 누적 가장낮은구매수량
View : 하나 이상의 테이블들을 활용하여, 사용자가 정의한 가상 테이블
- JOIN 사용을 최소화하여, 편의성을 최대화
- 가상 테이블이므로, 중복되는 열이 저장될 수 없음
Procedure : 매개변수 (IN, OUT, INOUT)를 활용해, 사용자가 정의한 작업을 저장
IN 매개변수 : 매개변수를 프로시저로 전달
OUT 매개변수 : 프로시저 결과값 반환
INOUT 매개변수 : 매개변수를 프로시저로 전달, 프로시저 결과값 반환
DELIMITER //
DELIMITER ;
여러 명령어들을 하나로 묶어줄 때 사용
데이터 마트 : 분석에 필용한 데이터를 가공한 분석용 데이터
요약 변수 : 수집된 데이터를 분석에 맞게 종합한 변수 (기간별 구매 금액, 횟수, 수량 등)
파생 변수 : 사용자가 특정 조건 또는 함수로 의미를 부여한 변수 (연령대, 선호 카테고리 등)
데이터 정합성 : 데이터가 서로 모순 없이 일관되게 일치함을 나타낼 때 사용
'Naver Boostcourse > 기초 데이터 분석을 위한 핵심 SQL' 카테고리의 다른 글
기초 데이터 분석을 위한 핵심 SQL | RFM 분석 (0) | 2023.03.10 |
---|---|
기초 데이터 분석을 위한 핵심 SQL | 회원 프로파일 분석 (0) | 2023.03.10 |
기초 데이터 분석을 위한 핵심 SQL | SQL 문법 (0) | 2023.03.09 |
기초 데이터 분석을 위한 핵심 SQL | SQL 명령어 (실습) (0) | 2023.03.08 |
기초 데이터 분석을 위한 핵심 SQL | SQL 기본 구조 (1) | 2023.03.07 |