본문 바로가기
반응형

전체 글43

SQLD 2과목 문제 풀이 ( 윈도우 함수 프레임, ROWS RANGE ) 이 문제는 윈도우 함수의 기본 프레임이 무엇인지 이해할 수 있는 문제이고, ROWS 와 RANGE 가 동일한 값을 어떻게 다르게 처리하는지 알아야 풀 수 있는 문제입니다. 문제아래 [사원] 테이블에 대해 다음 SQL을 수행했을 때, 사원 B 행의 S1과 S2 값으로 가장 적절한 것을 고르세요.[사원]사원명연봉A1000B2000C2000D3000[예문]SELECT 사원명, 연봉, SUM(연봉) OVER (ORDER BY 연봉) AS S1, SUM(연봉) OVER (ORDER BY 연봉 ROWS UNBOUNDED PRECEDING) AS S2 FROM 사원;1. S1 = 3000, S2 = 30002. S1 = 5000, S2 = 30003. S.. 2026. 8. 12.
SQLD 2과목 문제 풀이 ( 스칼라 서브쿼리 ) 이 문제는 스칼라 서브쿼리가 언제 에러를 내고 언제 NULL을 반환하는지 이해할 수 있는 문제이고, 결과가 없을 때의 동작을 알아야 풀 수 있는 문제입니다. 문제다음 중 스칼라 서브쿼리(Scalar Subquery)에 대한 설명으로 가장 부적절한 것을 고르세요.1. SELECT 절에 사용하는 스칼라 서브쿼리는 한 행, 한 컬럼만 반환해야 한다.2. 스칼라 서브쿼리가 두 행 이상을 반환하면 오류가 발생한다.3. 스칼라 서브쿼리가 한 행도 반환하지 않으면 오류가 발생한다.4. 스칼라 서브쿼리는 SELECT 절뿐 아니라 WHERE 절의 비교 대상 자리에도 사용할 수 있다. 문제풀이정답은 3번이다.결과가 없으면 NULL이 반환된다. 오류가 아니다. 이 점이 OUTER JOIN 과 같은 동작이라 실무에서 .. 2026. 8. 11.
SQLD 2과목 문제 풀이 ( 계층형 질의, CONNECT BY ) 이 문제는 계층형 질의가 어떤 순서로 전개되는지 이해할 수 있는 문제이고, PRIOR 의 위치가 전개 방향을 결정한다는 것을 알아야 풀 수 있는 문제입니다. 문제아래 [사원] 테이블에 대해 다음 SQL을 수행했을 때, 조회되는 행 수와 사원 D의 LEVEL 값으로 가장 적절한 것을 고르세요.[사원]사원번호사원명상위사원번호1A(NULL)2B13C14D2[예문]SELECT LEVEL, 사원명 FROM 사원 START WITH 상위사원번호 IS NULLCONNECT BY PRIOR 사원번호 = 상위사원번호;1. 4행, D의 LEVEL은 32. 4행, D의 LEVEL은 23. 3행, D의 LEVEL은 34. 4행, D의 LEVEL은 4 문제풀이정답은 1번이다.START WITH 로 뽑힌 행이 LEVEL 1.. 2026. 8. 10.
SQLD 1과목 문제 풀이 ( 로우 체이닝, 로우 마이그레이션 ) 이 문제는 컬럼이 많은 테이블에서 생기는 성능 문제를 이해할 수 있는 문제이고, 로우 체이닝과 로우 마이그레이션이 각각 언제 왜 생기는지 알아야 풀 수 있는 문제입니다. 문제다음 중 로우 체이닝(Row Chaining)과 로우 마이그레이션(Row Migration)에 대한 설명으로 가장 부적절한 것을 고르세요.1. 한 행의 길이가 블록 하나에 담기지 못할 만큼 커서 여러 블록에 나누어 저장되는 것을 로우 체이닝이라 한다.2. UPDATE로 행의 길이가 늘어났는데 원래 블록에 남은 공간이 부족하면 행을 다른 블록으로 옮기는데, 이를 로우 마이그레이션이라 한다.3. 두 현상 모두 한 행을 읽는 데 블록 I/O가 추가로 발생하므로 조회 성능이 떨어진다.4. 로우 마이그레이션이 발생하면 행의 실제 위.. 2026. 8. 9.
SQLD 1과목 문제 풀이 ( 슈퍼타입 서브타입, 물리 모델 전환 ) 이 문제는 슈퍼타입과 서브타입을 물리 모델로 바꾸는 세 가지 방법을 이해할 수 있는 문제이고, 어떤 트랜잭션이 도는지에 따라 선택이 달라진다는 것을 알아야 풀 수 있는 문제입니다. 문제아래와 같은 데이터 모델이 있다. 업무를 분석해 보니 개인고객과 법인고객을 함께 조회하는 트랜잭션은 거의 없고, 각각 별개의 화면에서 따로 조회하고 있었다. 이때 가장 적절한 물리 모델은?[고객 데이터 모델]구분엔터티속성슈퍼타입고객고객번호(PK), 고객명, 가입일자, 고객구분서브타입개인고객고객번호(PK), 생년월일, 성별서브타입법인고객고객번호(PK), 사업자번호, 대표자명1. One To One Type - 개인고객, 법인고객 테이블을 각각 만들고 슈퍼타입 속성을 양쪽에 모두 넣는다.2. Plus Type - 고객 .. 2026. 8. 8.
SQLD 1과목 문제 풀이 ( 반정규화, 갱신 이상 ) 이 문제는 반정규화를 언제 해야 하는지 판단할 수 있는 문제이고, 정규화가 조회 성능에 어떻게 작용하는지 알아야 풀 수 있는 문제입니다. 문제다음 중 반정규화(De-normalization)에 대한 설명으로 가장 부적절한 것을 고르세요.1. 반정규화는 조회 성능을 높이기 위해 데이터 중복을 의도적으로 허용하는 것이다.2. 반정규화를 하면 입력, 수정, 삭제 시 중복된 데이터를 함께 맞춰야 하므로 데이터 무결성을 지키는 비용이 늘어난다.3. 정규화를 하면 테이블이 나뉘어 조인이 늘어나므로 조회 성능은 항상 나빠진다. 따라서 조회 성능이 중요하면 정규화를 하지 않는 것이 원칙이다.4. 반정규화를 결정하기 전에 인덱스 조정, 뷰, 클러스터링, 파티셔닝 같은 다른 방법으로 해결할 수 있는지 먼저 검토.. 2026. 8. 7.
SQLP 3과목 문제 풀이 ( 트랜잭션 격리 수준 ) 이 문제는 트랜잭션 격리성 수준을 이해할 수 있는 문제이고, 각 수준에서 어떤 이상 현상이 막히고 어떤 게 남는지 알아야 풀 수 있는 문제입니다. 문제트랜잭션 격리성 수준(Isolation Level)에 대한 설명으로 가장 적절하지 않은 것을 고르세요.1. READ UNCOMMITTED 에서는 커밋되지 않은 데이터를 읽는 Dirty Read 가 발생할 수 있다.2. READ COMMITTED 는 Dirty Read 는 막지만, 같은 행을 두 번 읽을 때 값이 달라지는 Non-Repeatable Read 는 발생할 수 있다.3. REPEATABLE READ 는 Non-Repeatable Read 는 막지만, 조회 범위에 새로운 행이 끼어드는 Phantom Read 는 발생할 수 있다.4... 2026. 8. 6.
SQLP 3과목 문제 풀이 ( 인덱스 범위 스캔 ) 이 문제는 인덱스 범위 스캔이 가능한 조건을 이해할 수 있는 문제이고, 선두 컬럼이 가공되면 왜 인덱스를 못 타는지 알아야 풀 수 있는 문제입니다. 문제아래 인덱스가 있을 때, INDEX RANGE SCAN을 사용할 수 없는 WHERE 절을 고르세요.[사원]구분내용컬럼사원번호, 부서코드, 입사일자, 사원명, 연봉인덱스IDX_EMP01 (부서코드, 입사일자, 사원명)1. WHERE 부서코드 = 'D10' AND 입사일자 >= '20260101'2. WHERE 부서코드 = 'D10'3. WHERE 부서코드 LIKE 'D1%'4. WHERE SUBSTR(부서코드, 1, 2) = 'D1' 문제풀이정답은 4번이다.인덱스 범위 스캔의 조건은 하나다. 선두 컬럼이 가공되지 않은 상태로 조건에 있어야 한다.인덱스는.. 2026. 8. 5.
반응형