ch0nny_log

[빅데이터분석] SQL_중간 keyword 정리 본문

빅데이터 분석(with 아이티윌)/SQL

[빅데이터분석] SQL_중간 keyword 정리

chonny 2024. 5. 22. 17:58

 

|| 연결 연산자  
Distinct 중복 제거  
Order by 데이터 정렬  
Upper, Lower, Initcap 대문자, 소문자, 첫문자만 대문자  
Substr 문자에서 특정 철자 추출하기 Substr(컬럼명, 시작위치, 끝날 위치)
Length 문자의 길이  
INSTR 문자에서 특정 철자위치 출력 Instr(컬럼 또는 문자, 특정철자)
Replace 특정철자 다른철자 바꾸기 (컬럼, 바꿀열, 바꿀값)
LPAD, RPAD 특정철자를 N개만큼 채우기 LPAD(col, n개, 바꿀값)
TRIM, RTRIM,LTRIM 특정 철자 잘라내기 TRIM(자를 값, 값)
ROUND 반올림  
TRUNC 숫자 버리고 출력  
MOD 나머지값 출력  
Months_between 날짜간 개월수 출력 months_between(sysdate, colmn)
Add_months 개월수 더한 날짜 출력 add_months(sysdate, 더할 month)
Next_day 특정날짜 뒤에 오는 요일 날짜 next_day(sysdate,'금요일')
Last_day 특정 날짜가 있는 달의 마지막 날짜 last_day(22/01/05) = 22/01/31
To_char 문자형으로 데이터 유형 변환 to_char(colmn, '999,999')
To_date 날짜형으로 데이터 유형 변환 to_date('24/02/12','RR/MM/DD')
NVL/ NVL2 NULL값 대신 다른 데이터 출력  NVL(colmn, 바꿀값)
NVL2(colmn. 널값이 아닌 변환값, 널이면 바꿀값)
Decode if문 구현 1 decode(colmn, 1, 1-1, 2, 2-2, 나머지) 
case if문 구현 2 case when colmn ___ then ___
else___ end
Max/ Min /Avg / sum / count 최대값/ 최소값 / 평균값 / 토탈값 / 건수  
Rank 순위출력 (1등 2명이면 바로 3등) Rank() over (order by ___desc)
Dense_rank 순위출력 (1등 2명이어도 다음은 2등) dense_rank() over (order by ___desc)
() 숫자 들어가면 with in (order by___desc)
Ntile 등급출력 ntile(숫자) over(order by___desc)
Cume_dist 함수로 순위의 비율 출력하기 rank() over ~
dense_rank() over~
cume_dist() over~
Listagg 데이터 분석 함수로 데이터 가로 출력 listagg(colmn, ',') within group (order by colmn)
Lag, Lead 바로전행과 다음행 출력하기 lag(col, 1) over (order by ___asc),
lead( col, 1) over (order by ___asc)
sum+deode 가로출력 (sum) sum(decode(col, ___,col2,___) as ___
pivot 가로 출력 select *
   from (select  col2, col2 from table)
   pivot(sum(col) for col2 im ( 가로 행들)
unpivot pivot의 반대열 출력 select * from table
   unpivot (건수 for 아이템 in ( 특정 열의 행들)
sum over  누적데이터 출력 sum(col) over(order by col2 rows between 
unbounded preceding and current row) as 누적데이터
nulls last fetch first 숫자 rows only 특정 숫자만큼 데이터 추출 3순위까지 추출하시오