다음 중 Oracle에서 인덱스를 스캔하는 방식 중 하나인 Index Full Scan의 특징으로 가장 부적절한 것은? ① 인덱스 구조를 따라 스캔하므로 결과집합의 순서가 보장된다(=일정하다). ② Single Block Read 방식을 사용한다. ③ 파티션 돼 있지 않다면 병렬 스캔이 불가능하다. ④ 필요한 칼럼이 모두 인덱스에 포함돼 있을 때만 사용 가능하다. [출처] http://www.dbguide.net/da.db?cmd=snb9_4_view&boardConfigUid=81&boardUid=153573 정답 : ④ 필요한 칼럼이 모두 인덱스에 포함돼 있을 때만 사용 가능한 것은 Index Fast Full Scan의 특징이다. [출처] http://www.dbguide.net/da.db?cmd=..
다음 중 NL(Nested Loops) Join의 특징을 설명한 것으로 가장 부적절한 것은? ① 조인을 한 로우씩 차례대로 진행하므로 부분범위 처리에 자주 사용된다. ② 먼저 액세스한 테이블의 처리 범위에 따라 전체 일량이 결정된다. ③ Inner쪽 조인 칼럼에 대한 인덱스 전략이 중요하지만, 조인 칼럼이 모두 포함되지 않은 인덱스라도 사용 가능하다. ④ 선행(Driving) 집합도 반드시 인덱스를 통해 액세스해야 효율적이다. [출처] http://www.dbguide.net/da.db?cmd=snb9_4_view&boardUid=153397&boardConfigUid=81 * 정답 및 해설 * 정답 : ④ 선행(Driving) 집합은 주어진 조건절에 따라 Full Table Scan이 유리할 수도 있다..
다음 중 테이블 tab1에 아래와 같은 데이터가 존재할 경우에 대한 설명으로 가장 적절한 것은? (각 칼럼의 타입은 number이다.) ----------------------- 아 래 ------------------------------------col1 col2 col3 ========================= 10 20 NULL 15 NULL NULL 50 70 20 ------------------------------------------------------------------------- ① select sum(col2) from tab1 의 결과는 NULL이다. ② select sum(col1 + col2 + col3) from tab1 의 결과는 185 이다. ③ select s..
다음 중 아래 두 SQL에 대한 설명으로 가장 적절한 것은?(단, 국가는 100건, 수출실적은 100만 건. 국가 테이블 PK는 국가코드이다.) ---------------------------------아 래------------------------------------- 가. SELECT DISTINCT 국가명 FROM 국가 x, 수출실적 y WHERE x.국가코드= y.국가코드 AND y.수출년월 BETWEEN '200001' AND '201012'; 나. SELECT 국가명 FROM 국가 x WHERE EXISTS (SELECT 1 FROM 수출실적 y WHERE y.국가코드= x.국가코드 AND y.수출년월 BETWEEN '200001' AND '201012'); ----------------..
아래 NVL 함수와 ISNULL 함수를 사용한 SQL 문장은 벤더 공통적으로 CASE 문장으로 표현할 수 있다. 아래 CASE SQL 문장의 ㉠안에 들어갈 내용을 작성하시오. ------------------------------ 아 래 --------------------------- [Oracle 사례] SELECT PLAYER_NAME 선수명, POSITION, NVL(POSITION,'없음') 포지션 FROM PLAYER WHERE TEAM_ID = 'K08' [SQL Server 사례] SELECT PLAYER_NAME 선수명, POSITION, ISNULL(POSITION,'없음') 포지션 FROM PLAYER WHERE TEAM_ID = 'K08' [CASE 문장 사례] SELECT PLAY..
다음 중 아래 데이터 현황을 참고하여 결과가 다르게 나오는 쿼리인 것은? ---------------------------- 아 래 ----------------------------------------- select EmployeeID, LastName, HireDate, Country from Employees order by HireDate ******************************************************************************* EmployeeID ----------- 3 1 2 4 5 6 7 8 9 LastName ------------ Leverling Davolio Fuller Peacock Buchanan Suyama King Calla..
사원 데이터에서 급여가 높은 순서를 구하는 아래 SQL 문장의 ㉠ 안에 들어갈 함수명을 작성하시오. ------------- 아 래 ----------------- SELECT JOB, ENAME, SAL, ㉠ ( ) OVER (ORDER BY SAL DESC) QQ1 FROM EMP [EMP] JOB ENAME SAL QQ1 PRESIDENT KING 5000 1 ANALYST FORD 3000 2 ANALYST SCOTT 3000 2 MANAGER JONES 2975 4 MANAGER BLAKE 2850 5 MANAGER CLARK 2450 6 SALESMAN ALLEN 1600 7 SALESMAN TURNER 1500 8 CLERK MILLER 1300 9 SALESMAN WARD 1250 10 S..
다음 중 아래 SQL의 실행 결과로 가장 적절한 것은? ---------------------------------- 아 래 ------------------------------------------------- 고객번호 판매일자 판매금액 100 20090701 1000 100 20090702 300 100 20090702 1000 200 20090701 2000 200 20090701 200 SELECT CUSTCODE 고객번호, SALEDATE 판매일자, SALE_AMT 판매금액, SUM(SALE_AMT) OVER (PARTITION BY CUSTCODE ORDER BY SALEDATE ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AMT1 FROM SAL..
다음 중 각 SQL 실행 결과를 가장 올바르게 설명한 것을 2개 고르시오. ① SELECT COL1, COL2 FROM TAB1 WHERE 1 = 2 ; → 실행 시 에러가 발생한다. ② SELECT NVL(COL1,'X') FROM TAB1 WHERE 1 = 2 ; → 실행 결과로 'X'를 반환한다. ③ SELECT NVL(MIN(COL1), 'X') FROM TAB1 WHERE 1 = 2; → 실행 결과로 'X'를 반환한다. ④ SELECT COL1, COL2 FROM TAB1 WHERE 1 = 2 ; → 실행 결과가 없다.(공집합) [출처] http://www.dbguide.net/da.db?cmd=snb9_4_view&boardUid=152010&boardConfigUid=81 * 정답 및 해설 ..
다음 중 Syntax 오류가 있는 SQL문 2개를 고르시오. ① SELECT 부서번호 FROM 직원HAVING COUNT(*) > 3; ② SELECT 직원이름 FROM 직원 JOIN 부서 ON (직원.부서번호 = 부서.부서번호) WHERE 부서명 = ‘인사과’ ③ SELECT 전화번호 FROM 직원 WHERE 전화번호 = ‘777’ GROUP BY 전화번호 ④ SELECT 직원이름 FROM 직원 JOIN 부서 USING (부서.부서번호) WHERE 부서명 = ‘인사과’ [출처] http://www.dbguide.net/da.db?cmd=snb9_4_view&boardUid=151889&boardConfigUid=81 정답 : ①, ④ ① GROUP BY 절 없이 HAVING을 사용할 수 없다. ④ US..