SQLD에서 점수 차이를 만드는 건 어려운 문법보다 NULL이 끼어드는 순간의 결과값인 경우가 많습니다. 집계 함수, 서브쿼리, 집합 연산자는 그 함정이 가장 자주 나오는 구간이라 한 번 정리해 두면 효과가 큽니다.
이번 글은 GROUP BY·HAVING, NOT IN과 NULL, UNION 계열, ROLLUP, 상관 서브쿼리, CASE 집계까지 8문제로 묶었습니다. 모든 결과는 실제로 쿼리를 실행해 확인했습니다.
학습용 예상문제이며 실제 시험과 다를 수 있습니다. 직접 만든 문제이고 기출문제를 옮긴 것이 아닙니다. 최신 출제 범위와 일정은 한국데이터산업진흥원 공식 공지를 꼭 확인하세요.
문제 1, 5, 6, 7, 8은 아래 EMP 테이블을 사용합니다.
EMP (ENAME, DEPT, SAL, BONUS) 김 10 300 50 이 10 400 NULL 박 20 500 100 최 20 200 NULL 정 30 600 NULL 한 30 300 30
다음 쿼리의 결과 행을 쓰시오.
SELECT DEPT, COUNT(*), COUNT(BONUS), AVG(BONUS), SUM(SAL) FROM EMP GROUP BY DEPT HAVING SUM(SAL) >= 800;
테이블 A(X)에는 1, 2, 3, 4가 있고 테이블 B(Y)에는 2와 NULL이 있다. 두 쿼리의 결과 건수를 각각 쓰시오.
-- (가) SELECT COUNT(*) FROM A WHERE X NOT IN (SELECT Y FROM B); -- (나) SELECT COUNT(*) FROM A WHERE NOT EXISTS (SELECT 1 FROM B WHERE B.Y = A.X);
S1(V)에는 1, 2, 2, 3이 있고 S2(V)에는 2, 3, 3, 4가 있다. 아래 두 쿼리의 결과 행 수를 쓰시오.
SELECT V FROM S1 UNION SELECT V FROM S2; SELECT V FROM S1 UNION ALL SELECT V FROM S2;
문제 3의 S1, S2에 대해 S1 EXCEPT S2와 S1 INTERSECT S2의 결과를 쓰고, Oracle에서 EXCEPT에 해당하는 키워드를 답하시오.
EMP에 대해 다음 쿼리의 결과 행 수와 마지막 행을 쓰시오.
SELECT DEPT, SUM(SAL) FROM EMP GROUP BY ROLLUP(DEPT);
자기 부서의 평균 급여보다 급여가 높은 사원을 구하는 쿼리의 결과를 쓰시오.
SELECT E.ENAME FROM EMP E WHERE E.SAL > (SELECT AVG(X.SAL) FROM EMP X WHERE X.DEPT = E.DEPT);
다음 두 컬럼 값을 각각 쓰시오.
SELECT SUM(CASE WHEN DEPT = 40 THEN SAL END) AS C1,
SUM(CASE WHEN DEPT = 40 THEN SAL ELSE 0 END) AS C2
FROM EMP; 다음 세 식의 결과를 각각 쓰시오.
SELECT AVG(BONUS),
SUM(BONUS) / COUNT(*),
AVG(NVL(BONUS, 0))
FROM EMP; 이 글의 문제는 학습용으로 직접 만든 예상문제이며 실제 시험과 다를 수 있습니다. 시험 범위, 일정, 합격 기준은 한국데이터산업진흥원 등 공식 공지를 확인하시기 바랍니다.
정부 쪽에서 집값이 크게 떨어질 수 있으니 대비하자는 말이 나오고 있습니다. 그런데 시장에서는 서울 아파트값이…
11월에 일정이 있는 빅데이터분석기사 시험을 정리했습니다. 접수, 시험, 합격 발표 날짜를 한 번에 볼 수…
11월에 일정이 있는 정보보안기사·정보보안산업기사 시험을 정리했습니다. 접수, 시험, 합격 발표 날짜를 한 번에 볼 수…
10월 20일 코스피는 3.73% 하락한 5,552.74로 마감했습니다. 전날 반등했던 지수가 하루 만에 215.27포인트를 반납한 셈입니다.…
11월에 일정이 있는 정보관리기술사·컴퓨터시스템응용기술사 시험을 정리했습니다. 접수, 시험, 합격 발표 날짜를 한 번에 볼 수…
10월 20일 원·달러 환율이 1,328.1원으로 거래를 마쳤습니다(주간 종가 기준, 오후 3시 30분). 전날보다 2.2원 내려…