Database/SQL 개발자

SQL 짜집기

IT수정 2024. 10. 7. 16:59

CASE WHEN, DECODE 구문 (아래 3개 모두 같음)

CASE GENDER WHEN 'boy' THEN '남' WHEN 'girl' THEN '여' ELSE '혼성' END GENDER_1
CASE WHEN GENDER = 'boy' THEN '남' WHEN GENDER = 'girl' THEN '여' ELSE '혼성' END GENDER_2
DECODE(GENDER, 'boy', '남', 'girl', '여', '혼성') GENDER_3
 

TOP-N

N위 까지 추출하는 함수 (자동 번호 매김)
ROWNUM은 항상 < 또는 <= 조건을 사용해야 함
보통 원래 쿼리를 서브쿼리로 놓고 메인쿼리 맨 뒤에 ROWNUM 컬럼을 하나 추가함
 

NTILE

주어진 수만큼 행들을 N등분하여 등급을 매기는 함수
예) 시험 등급 매길 때 사용
 

EXISTS, NOT EXISTS

교집합, 차집합 의미
 

pivot

행 데이터를 열 데이터로 변환하는 데 사용

SELECT *
FROM (
    SELECT Month, Product, Amount
    FROM Sales
) AS SourceTable
PIVOT (
    SUM(Amount)
    FOR Product IN ([A], [B])
) AS PivotTable;

 
 
1. Source Table : 원본 데이터를 선택하는 서브쿼리
2. PIVOT : SUM(Amount)로 각 제품의 판매 금액을 합산
3. FOR Product IN ([A], [B]) : Product 컬럼의 값 중 A와 B를 새로운 컬럼으로 변환

 

CONUT(*)와 COUNT(컬럼명)의 차이

null 포함, 미포함


'Database > SQL 개발자' 카테고리의 다른 글

노랭이 관리구문 99~126  (6) 2024.10.06
노랭이 활용 76~98  (4) 2024.10.06
노랭이 활용 51~75  (5) 2024.10.06
노랭이 기본 26~50  (7) 2024.10.02
노랭이 기본 1~25  (8) 2024.10.02