Kong Eunho

Chapter 3 출제예상문제

2025년 08월 09일 14시
카테고리 - TIL, sqld, 3_SQL_기본


Chapter 3 출제예상문제 오답노트

04 – ② 비절차적 언어로서의 DML은 사용자가 원하는 데이터가 무엇인지부터 그것을 어떻게 접근해야 하는지까지 서술하는 언어이다.
=> False. 비절차적 언어로서의 DML은 사용자가 원하는 데이터가 무엇인지(What)인지에 대해서만 서술하며, 그 결과를 얻는 과정과 방법(How)까지는 서술하지 않는다. 일반적으로 SQL문은 대부분 비절차적 언어의 특징을 가지지만 함수, 프로시저 등을 정의할 때는 절차적 언어로서의 특징을 가지는 언어를 사용한다.

06 – ② INDEX RANGE SCAN DESCENDING        // 이게뭔데요.. 안알려줬잖아..
=> True. 범위 조건으로 데이터 내림차순 탐색.
① INDEX FULL SCAN
=> 전체 데이터를 탐색.
③ INDEX RANGE SCAN
=> 범위 조건으로 데이터 탐색.
④ INDEX UNIQUE SCAN
=> 유일한 하나의 값 탐색.

09 – ① 연결 연산자 -> 비교 연산자 -> NOT 연산자 -> OR 연산자
=> True.
연산자의 우선순위 :
산술 연산자(+,-,*,/) -> 연결 연산자(||) -> 비교 연산자(<,>,<=,>=,<>,=) -> IS NULL/LIKE/IN -> BETWEEN -> NOT 연산자 -> AND 연산자 -> OR 연산자

10 – ③ 999 -> 200
=> True.
ORDER BY (CASE WHEN NUM = 999 THEN 0 ELSE NUM END);
에서 999를 0으로 변경하는 게 아니라 정렬을 수행하는 기준에서만 999를 0으로 처리하는 것이기 때문.

16 – ④ SORT MERGE JOIN
=> True.
③ NESTED LOOP JOIN : 프로그래밍 언어에서의 중첩 루프를 사용한 반복문과 유사한 방식으로 수행되는 조인이다. 인덱스 스캔을 사용하여 데이터를 랜덤 액세스 방식으로 읽어 들이므로 데이터양이 많을 경우 성능저하의 우려가 있다.
④ SORT MERGE JOIN : 조인의 조건이 되는 칼럼에 인덱스가 없어서 인덱스 스캔을 할 수 없거나 대량의 자료를 조인하게 되어 랜덤 액세스 방식이 부담될 경우, 전체 테이블 스캔 방식을 사용하여 조인을 수행한다. 조인 칼럼에 대해 먼저 정렬을 수행한 후 조인한다.
② HASH JOIN : NESTED LOOP JOIN의 랜덤 액세스로 인한 부하 문제와 SORT MERGE JOIN의 정렬 작업의 부담을 해결하여 개선한 조인이다. 조인 칼럼에 대해 해시함수를 적용하여 인덱스가 없을 때 별도의 정렬을 수행하지 않고도 빠르게 조인 대상을 찾는 것이 가능하나, 해시함수의 특성에 따라 EQUI JOIN에서만 사용할 수 있다는 특징이 있다. 해시함수를 사용하므로 CPU연산 부하가 높다.

◀ 이전 글 TIL, sqld, 3_SQL_기본
복합 쿼리 예제 - 2
2025-08-08
목록으로 다음 글 ▶ TIL, sqld, 4_SQL_활용
4.1 서브쿼리
2025-08-10