그룹화된 데이터를 문자열로 결합할 때 사용하는 집계 함수
예시)
SELECT '컬럼 명', LISTAGG('컬럼 명', '구분자') WITHIN GROUP (ORDER BY '컬럼 명')
AS '결과'
FROM '테이블 명'
GROUP BY '컬럼 명';
LISTAGG 함수와 함께 사용되며, 그룹화된 데이터를 문자열로 결합할 때 정렬 순서를 지정하는데 사용
윈도우 함수와 함께 사용되며, 데이터를 파티션으로 분리하여 각 파티션 내에서 함수를 계산하는데 사용
예시)
SELECT '컬럼 명', '컬럼 명', AVG('컬럼 명')
OVER (PARTITION BY '컬럼 명')
AS '결과'
FROM '테이블 명';
계층 구조 쿼리에서 사용되며, 부모-자식 관계의 경로를 문자열로 반환하는 함수
SELECT '컬럼 명', '컬럼 명', SYS_CONNECT_BY_PATH('컬럼 명', '구분자') AS '경로'
FROM '테이블 명'
START WITH '컬럼 명' IS NULL
CONNECT BY PRIOR '컬럼 명' = '컬럼 명';
계층 구조 쿼리에서 사용되며, 부모-자식 관계를 연결할 때 사용되는 연결 조건
계층 구조 쿼리에서 형제 노드의 순서를 지정할 때 사용되는 구문
공통 테이블 표현식 (CTE)을 정의할 때 사용되며, 하위 쿼리의 결과를 임시 테이블처럼 사용할 수 있음
예시)
WITH cte AS (SELECT '컬럼 명', '컬럼 명' FROM '테이블 명')
SELECT * FROM cte WHERE '컬럼 명' = '값';
중복된 행을 제거하여 결과 집합에서 고유한 값을 선택하는 구문
예시)
SELECT DISTINCT '컬럼 명' FROM '테이블 명';
NVL(’대상 데이터’ , 0)
대상 데이터의 값이 null이면 0을 표시, null이 아니면 대상 데이터 값을 표시
NVL2('대상 데이터', 'Y', 'N')
대상 데이터 값이 null이 아니면 Y, null이면 N을 표시
CASE WHEN (조건) then 값
WHEN (조건) then 값
else 그 외의 값
end
출처 - https://wikidocs.net/3936
날짜형 혹은 숫자형을 문자형으로 변환하는 함수
SELECT SYSDATE, TO_CHAR(SYSDATE, 'YYYY-MM-DD')
TO_CHAR(SYSDATE, 'YYYY/MM/DD DAY')
TO_CHAR(SYSDATE, 'YYYY/MM/DD, HH24:MI:SS')
문자형을 날짜형으로 변환하는 함수
TO_DATE(20230915,'YYYYMMDD')
=> 23/09/15
문자형을 숫자형으로 변환하는 함수
예) '20,000'과 '10,000'의 차이를 알아보기 위해서 빼기(-)연산을 구하는 쿼리문
SELECT TO_NUMBER('20,000', '99,999')-TO_NUMBER('10,000', '99,999')
=> 10000
'20,000'과 '10,000'은 문자형이기 때문에 산술 연산을 수행하지 못한다
문자형을 숫자형으로 변환한 다음에 연산을 실행해야 한다.