개념정리/SQLD

SQLD 문제풀이 10 - 기출문제

춘핑이 2023. 11. 17. 17:43

1. lag lead

LAG(expr [,offset] [,default])
LEAD(expr [,offset] [,default])
2번째인자값은 offset 세번째인자값으로 기본값을 넣어줄수 있다!

2. merge into

MERGE INTO TEST1
USING TEST2
 ON (TEST1.COL1 = TEST2.COL1)
WHEN MATCHED THEN
 UPDATE SET TEST1.COL3 = 4
      WHERE TEST1.COL3 = 2
 DELETE WHERE TEST1.COL3 <= 2
WHEN NOT MATCHED THEN
 INSERT(TEST1.COL1, TEST1.COL2, TEST1.COL3)
 VALUES(TEST2.COL1, TEST2.COL2, TEST2.COL3);

MATCHED되면 업데이트문과 삭제까지 진행하는데 여기서 삭제는 업데이트 된 값들만 기준으로 한다.

3. NVL2 함수 - NVL함수와 DECODE를 하나로 만든 것이다.

"NVL2(MGR, 1, 0)"은 MGR칼럼이 NULL이 아니면 1, NULL이면 0을 반환한다.

4. IN , NOT IN

IN 문은 OR 조건, NOT IN 문은 AND 조건