비교 연산자

=  : 같음

<> : 같지 않음

>= : ~보다 크거나 같음

<= : ~보다 작거나 같음

> : ~보다 큼

< : ~보다 작음

 

논리 연산자

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 ;

여러 명령어들을 하나로 묶어줄 때 사용

 

 

 

데이터 마트  : 분석에 필용한 데이터를 가공한 분석용 데이터

요약 변수 : 수집된 데이터를 분석에 맞게 종합한 변수 (기간별 구매 금액, 횟수, 수량 등)

파생 변수 : 사용자가 특정 조건 또는 함수로 의미를 부여한 변수 (연령대, 선호 카테고리 등)

데이터 정합성 : 데이터가 서로 모순 없이 일관되게 일치함을 나타낼 때 사용

 

 

+ Recent posts