공부하기싫어
article thumbnail

1. 다음은 EQUI 조인에 대한 설명이다. 올바르지 않은 것은?

① 두 개의 테이블 간에 교집합을 구한다.

② "=" 의 비교 연산자를 사용한다.

③ ISO 표준 SQL로 INNER JOIN을 사용해야 한다.

④ 모든 비교 연산자를 사용해서 조인할 수 있다.

 

내가 고른 답 : 4

정답 : 4

해설 : EQUI조인은 "="를 사용해서 조인하는 것으로 ">", "<", "<=", ">=" 를 사용하는 것은 Non-EQUI 조인이다.

 

 

2. 다음 중에서 EQUI JOIN 에서만 나타나는 실행 계획은 무엇인가?

① SORT MERGE

② NESTED LOOP

③ HASH JOIN

④ FILTER

 

내가 고른 답 : 1

정답 : 3

해설 : HASH JOIN은 EQUI JOIN 에서만 사용할 수 있다.

 

 

3. 다음 중에서 데이터의 행 수가 가장 많이 조회되는 것은 무엇인가?

① INNER JOIN

② CROSS JOIN

③ LEFT OUTER JOIN

④ RIGHT OUTER JOIN

 

내가 고른 답 : 2

정답 : 2

해설 : CROSS JOIN은 조인구가 없이 조인이 되며 카테시안 곱이 발생하여 많은 행이 조회된다.

 

 

4. 다음 중에서 합집합을 만들 때 정렬을 유발하는 것은 무엇인가?

① UNION

② UNION ALL

③ MINUS

④ EXCEPT

 

내가 고른 답 : 2

정답 : 1

해설 : UNION 연산은 두 개의 테이블을 하나로 합치면서 중복된 데이터를 제거한다. 그래서 UNION은 정렬(SORT) 과정을 발생시킨다.

 

 

5. 다음 중에서 Oracle db에서 차집합을 구하는 것은?

① UNION

② UNION ALL

③ MINUS

④ EXCEPT

 

내가 고른 답 : 3

정답 : 3

해설 : MINUS 는 차집합을 구하는 것으로 Oracle db에서 제공한다. EXCEPT ms-sql에서 제공하는 것으로 차집합을 구한다

 

 

6. 다음은 계층형 조회이다. 계층형 조회에서 가장 상위 레벨의 값은 무엇인가?

① 0

② 1

③ 2

④ 3

 

내가 고른 답 : 2

정답 : 2

해설 : LEVEL 키워드를 사용하면 Root가 1이 나오고 그 다음 노드는 2가 나온다.

 

 

7. Subquery 에서 FROM절에 작성하는 Subquery 는 무엇인가?

① Scala Subquery

② Inline View

③ Subquery

④ Multi row Subquery

 

내가 고른 답 : 1

정답 : 2

해설 : 인라인 뷰 는 FROM절에 사용하는 Subquery 이다.

 

 

8. Multi row Subquery 에서 메인 쿼리의 결과와 서브쿼리의 결과가 모두 동일하면 참(True)이 되는 것은?

① IN

② EXISTS

③ ALL

④ ANY

 

내가 고른 답 : 3

정답 : 3

해설 : ALL 은 메인 쿼리의 결과와 서브쿼리의 결과가 모두 동일하면 참이 된다.

 

 

9. 서브쿼리 중에서 반드시 한 행과 한 칼럼만 반환하는 것은?

① Scala Subquery

② Inline view

③ Subquery

④ Multi row subquery

 

내가 고른 답 : 1

정답 : 1

해설 : Scala Subquery는 반드시 한 행과 한 칼럼만 반환하는 서브쿼리이다.

 

 

10. 그룹 함수 중에서 각 그룹에 대해서 Subtotal을 만들어 주는 것은?

① GROUPING SETS

② GROUPING

③ CUBE

④ ROLLUP

 

내가 고른 답 : 3

정답 : 4

해설 : ROLLUP은 GROUP BY 의 칼럼에 대해서 Subtotal을 만들어 준다.

 

 

11. 다음의 A에 올바른 것을 작성하시오

 

내가 고른 답 : ㅁ?ㄹ

정답 : LEAD(SAL)

해설 : 즉, SAL1번에 있는 것은 SAL 칼럼의 다음 행을 보여주고 있다.

 

 

12. 다음의 SQL 실행 결과를 보고 SQL문(테이블명 : EMP)을 작성하시오 (단, JOB은 'SALESMAN' 을 조회한다).

LEVEL EMPNO EMANE MGR
1 1001 test2 1000
2 1005 test6 1001
2 1006 test7 1001
3 1007 test8 1006
3 1008 test9 1006
2 1011 test12 1001
1 1002 test3 1000
2 1009 test10 1002
2 1010 test5 1002

 

내가 고른 답 : 이건 진짜 몰루

정답 : Connect by

해설 : 

SELECT LEVEL, EMPNO, ENAME, MGR FROM EMP

START WITH JOB='SALESMAN'

CENNECT BY PRIOR EMPNO=MGR;

 

 

13. 다음의 SQL 실행 결과를 보고, SQL문을 작성하시오 (테이블명 : EMP)

DNAME JOB SAL COUNT(A.EMPNO)
SALES CLERK 950 1
SALES MANAGER 2850 1
SALES SALESMAN 5600 4
SALES PRESIDENT 5000 1
SALES   14400 7
RESEARCH CLERK 1900 2
RESEARCH ANALYST 6000 2
RESEARCH MANAGER 2975 1
RESEARCH   10875 5

내가 고른 답 : 

SELECT DNAME, JOB, SAL,

  COUNT(EMPNO) AS A

몰루

정답 : ROLLUP

해설 : 

SELECT b.dname, a.job, sum(a.sal) sal,

  COUNT(a.empno)

FROM emp a, dept b

GROUP BY ROLLUP(B.dname, a.job);

 

시험 3일남았는데

ㄹㅇ 주관식은 감도 안온다

ㅈ됬다 ㄹㅇ

다른거 할 시간이 없네