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일남았는데
ㄹㅇ 주관식은 감도 안온다
ㅈ됬다 ㄹㅇ
다른거 할 시간이 없네
'파이썬 > SQLD' 카테고리의 다른 글
[SQLD] 시험준비 4주 2일차 3 - SQL 기본 및 활용 단원정리문제 (0) | 2022.05.25 |
---|---|
[SQLD] 시험준비 4주 2일차 2 - SQL 최적화의 원리 + 확인문제 (0) | 2022.05.24 |
[SQLD] 시험준비 4주 1일차 - SQL 활용2 (0) | 2022.05.23 |
[SQLD] 시험준비 3주 5일차 - SQL 활용 (0) | 2022.05.22 |
[SQLD] 시험준비 3주 4일차 - SQL 기본 문제풀이 (0) | 2022.05.20 |