분류 전체보기
-
SQLD 자격검증실전문제 100번 문제<자격증>/[SQLD] 2023. 3. 21. 13:46
100번. 다음 중 아래 SQL에 대한 설명으로 가장 부적절한 것은? [SQL] SELECT B. 사원번호, B. 사원명, A. 부서번호, A. 부서명 ,(SELECT COUNT(*) FROM 부양가족 Y WHERE Y. 사원번호= B. 사원번호) AS 부양가족수 FROM 부서 A, (SELECT * FROM 사원 WHERE 입사년도= '2014') B WHERE A. 부서번호 = B. 부서번호 AND EXISTS (SELECT 1 FROM 사원 X WHERE X. 부서번호= A. 부서번호); 1 위 SQL에는 다중 행 연관 서브쿼리, 단일 행 연관 서브쿼리, Inline View 가 사용되었다. 2 SELECT절에 사용된 서브쿼리는 스칼라 서브쿼리라고도하며, 이러한 형태의 서브쿼리는 JOIN 으로 동일..
-
SQLD 자격검증실전문제 101번 문제<자격증>/[SQLD] 2023. 3. 21. 13:30
101번. 아래와 같은 데이터 모델에서 평가대상상품에 대한 품질평가항목별 최종 평가 결과를 추출하는 SQL 문장으로 옳은 것은?(단, 평가항목에 대한 평가(평가등급)가 기대수준에 미치지 못할 경우 해당 평가항목에 대해서만 재평가를 수행 한다) 1 SELECT B. 상품ID, B. 상품명, C. 평가항목ID, C. 평가항목명, A. 평가회차. A. 평가등급, A. 평가일자 FROM 평가결과 A, 평가대상상품 B, 품질평가항목 C. (SELECT MAX(평가회차) AS 평가회차 FROM 평가결과) D WHERE A. 상품ID= B. 상품ID AND A. 평가항목ID = C. 평가항목ID AND A. 평가회차= D. 평가회차: 2 SELECT B. 상품ID, B. 상품명, C. 평가항목ID, C. 평가항목명,..
-
SQLD 자격검증실전문제 102번 문제<자격증>/[SQLD] 2023. 3. 21. 13:19
102번. 아래 부서 테이블의 담당자 변경을 위해 부서임시 테이블에 입력된 데이터를 활용하여 주기적으로 부서 테이블을 아래 결과와 같이 반영하기 위한 SQ으로 가장 적절한 것은?(단, 부서임시 테이블에서 변경일자를 기준으로 가장 최근에 변경된 데이터를 기준으로 부서 테이블에 반영되어야 한다) [테이블: 부서] [테이블: 부서임시] [결과] 1 UPDATE 부서 A SET 담당자 = (SELECT C. 부서코드 FROM (SELECT 부서코드, MAX(변경일자) AS 변경일자 FROM 부서임시 GROUP BY 부서코드) B, 부서임시 C WHERE B. 부서코드=C. 부서코드 AND B. 변경일자 = C. 변경일자 AND A. 부서코드 = C. 부서코드) 2 UPDATE 부서 A SET 담당자 = (SEL..
-
SQLD 자격검증실전문제 103번 문제<자격증>/[SQLD] 2023. 3. 20. 21:50
103번. 다음 중 뷰(View)에 대한 설명으로 가장 부적절한 것은? 1 뷰는 단지 정의만을 가지고 있으며, 실행 시점에 질의를 재작성하여 수행한다. 2 뷰는 복잡한 SQL 문장을 단순화 시켜주는 장점이 있는 반면, 테이블 구조가 변경되면 응용 프로그램을 변경해 주어야 한다. 3 뷰는 보안을 강화하기 위한 목적으로도 활용할 수 있다. 4 실제 데이터를 저장하고 있는 뷰를 생성하는 기능을 지원하는 DBMS도 있다. [정답] 2번 [해설] 2번이 부적절한 설명입니다. 뷰는 테이블과 마찬가지로 테이블 구조가 변경되어도 응용 프로그램을 변경하지 않고도 사용할 수 있습니다. 따라서 뷰를 사용함으로써 응용 프로그램 유지보수를 용이하게 할 수 있습니다. [복습]
-
-
SQLD 자격검증실전문제 105번 문제<자격증>/[SQLD] 2023. 3. 20. 21:41
105번. 다음 중 아래의 테이블에서 SQL을 실행할 때 결과로 가장 적절한 것은? [SQL] SELECT CASE WHEN GROUPING(A.서비스ID) = 0 THEN A.서비스ID ELSE '합계' END AS 서비스ID ,CASE WHEN GROUPING (B.가입일자) = 0 THEN NVL(B.가입일자, '-') ELSE '소계' END AS 가입일자 ,COUNT(B.회원번호) AS 가입건수 FROM 서비스 A LEFT OUTER JOIN 서비스가입 B ON (A.서비스ID = B.서비스ID AND B.가입일자 BETWEEN '2013-01-01' AND '2013-01-31') GROUP BY ROLLUP (A.서비스ID, B.가입일자); [정답] 3번 [해설] 이 SQL 쿼리는 서비스와 ..
-
SQLD 자격검증실전문제 107번 문제<자격증>/[SQLD] 2023. 3. 20. 18:52
107번. 아래 결과를 얻기 위한 SQL문에서 ᄀ 에 들어갈 함수를 작성하시오 [SQL문] SELECT 구매고객, 구매월, COUNT(*) "총 구매건", SUM(구매금액) "총 구매액" FROM 구매이력 GROUP BY ᄀ (구매고객, 구매월) 정답 : rollup 위의 SQL 쿼리는 구매이력 테이블에서 각 구매고객과 구매월에 대해 총 구매건과 총 구매액을 계산하고, 이를 구매고객과 구매월로 GROUP BY하여 요약하는 쿼리입니다. 그러나 이 쿼리에서는 ROLLUP 함수가 사용되었습니다. ROLLUP 함수는 GROUP BY 절의 칼럼들에 대해 각 계층별로 총합을 출력하는 기능을 제공합니다. 이를 이용하여 구매고객과 구매월 칼럼에 대해 구매고객별 총합, 구매월별 총합, 전체 구매고객에 대한 총합, 전체 ..
-
SQLD 자격검증실전문제 106번 문제<자격증>/[SQLD] 2023. 3. 19. 21:15
106번. 아래의 데이터 모델에서 SQL을 이용하여 표(지역별 월별 이용량)와 같은 형식의 데이터를 추출하려고 할 때 올바른 SQL 문장은? 1 SELECT (CASE GROUPING(B.지역명) WHEN 0 THEN '지역전체' ELSE B.지역명 END) AS 지역명 ,(CASE GROUPING(TO_CHAR(A.이용일시, 'YYYY.MM')) WHEN THEN '월별합계' ELSE TO_CHAR(A.이용일시, 'YYYY.MM') END) AS 이용월 ,SUM(A.이용량) AS 이용량 FROM 이용내역 A INNER JOIN 지역 B ON (A.지역ID = B.지역ID) GROUP BY ROLLUP(B.지역명, TO_CHAR(A.이용일시, 'YYYY.MM')) 2 SELECT (CASE GROUPIN..