오늘 SQL 기본 문제를 모두 풀고, 오답노트 까지 마무리 하고
주말동안 50페이지 분량의 SQL 활용 단원을 끝내봐야겠다
1. 다음 중에서 관계형 DB 집합 연산이 아닌 것은?
① 합집합
② 곱집합
③ 선택 집합
④ 교집합
내가 고른 답 : 3
정답 : 3
해설 : 관계형 DB 집합 연산에서는 합집합, 차집합, 교집합, 곱집합이 있다.
2. 다음 중에서 관계형 DB의 관계 연산 중에서 공통된 속성으로 새로운 릴레이션을 생성하는 것은?
① 선택 연산
② 투영 연산
③ 결합 연산
④ 나누기 연산
내가 고른 답 : 3
정답 : 3
해설 : 결합 연산은 여러 릴레이션의 공통된 속성을 사용해서 새로운 릴레이션을 만들어 낸다.
3. SQL의 종류 중에서 TCL 에 해당되는 것은?
① CREATE TABLE
② COMMIT
③ SELECT
④ ALTER TABLE
내가 고른 답 : 2
정답 : 2
해설 : TCL은 트랜잭션을 제어하는 명령어로 COMMIT과 ROLLBACK이 있다.
4. 트랜잭션의 특징 중에서 COMMIT 이 완료되면 저장되었음을 보장해야하는 특성은 무엇인가?
① 원자성
② 일관성
③ 고립성
④ 영속성
내가 고른 답 : 4
정답 : 4
해설 : 영속성은 트랜잭션이 그 실행을 성공적으로 완료하면 그 결과는 영구적 보장이 되어야 한다.
5. SQL 실행 순서로 올바른 것은?
① parsing - execution - fetch
② parsing - fetch - execution
③ execution - parsing - fetch
④ execution - fetch - parsing
내가 고른 답 : 1
정답 : 1
해설 : SQL은 PARSING-EXECUTION-FETCH 순서로 실행된다.
6. 다른 테이블의 기본키를 참조하는것을 무엇이라고 하는가?
① 기본키
② 후보키
③ 슈퍼키
④ 외래키
내가 고른 답 : 4
정답 : 4
해설 : 외래키는 다른 테이블의 기본키를 참조한다.
7. A 테이블의 A1칼럼을 B테이블에서 참조하고 있다. 이때 A 테이블의 데이터를 삭제할 때 연속적으로 B 테이블의 데이터도 삭제하려면 테이블 생성 시에 어떤 옵션을 사용해야 하는가?
① UPDATE Option
② ON UPDATE CASCCADE
③ DELETE Option
④ ON DELETE CASCADE
내가 고른 답 : 4
정답 : 4
해설 : ON DELETE CASCADE 옵션은 참조한 테이블의 데이터까지 자동으로 삭제해서 참조 무결성을 보장한다.
8. EMP 테이블의 이름을 NEW_EMP테이블로 변경하는 SQL문을 쓰시오.
내가 고른 답 : ALTER TALBE NAME NEW_EMP;
정답 : ALTER TABLE EMP RENAME TO NEW_EMP;
해설 :
9. EMP 테이블에 age 칼럼을 추가하시오 (age 칼럼은 숫자형 2자리이고 기본값은 1이다)
내가 고른 답 : alter table emp add column(age number(2) default(1));
정답 : ALTER TABLE EMP ADD (age number(2) default 1);
해설 :
10. 다음은 view 에 대한 설명이다. 올바르지 않은 것은?
① 테이블에서 유도된 가상의 테이블이다.
② view 를 사용하면 데이터 관리가 간단해진다.
③ 삽입, 수정, 삭제에 제약이 없다.
④ 보안 기능을 제공한다.
내가 고른 답 : 3
정답 : 3
해설 : view는 삽입, 수정, 삭제 시 제약이 발생한다.
11. INSERT 문의 성능을 향상시키기 위해서 Buffer Cache 의 기록을 생략하는 옵션은 무엇인가?
내가 고른 답 : 몰?루
정답 : Nologging 옵션
해설 : nologging 옵션은 테이블에 데이터를 빠르게 입력하기 위해서 buffer cache의 기록을 생략한다.
12. emp 테이블의 구조는 삭제하지 않고 모든 데이터를 삭제하는 SQL문을 작성하시오 (단, 테이블의 데이터를 모두 삭제 후 테이블의 공간은 초기화해야 한다.)
내가 고른 답 : 이것도 몰?루
정답 : TRUNCATE TABLE EMP;
해설 : TUNCATE TABLE EMP; 는 테이블의 모든 데이터를 삭제하고 테이블 공간을 초기화 한다.
13. 다음 중 문자열 결합에 사용되는 것은?
① =
② ||
③ &&
④ -
내가 고른 답 : 2
정답 : 2
해설 : 문자열 결합은 CONCAT 함수 혹은 '||'을 사용할 수 있다.
14. 다음과 같이 조회된 경우 올바른 것은? (단, EMP 칼럼은 EMPNO, ENAME, DEPTNO, MGR, JOB, SAL 로 이루어져 있다.)
① SELECT DISTINCT ENAME FROM EMP;
② SELECT * FROM EMP ORDER BY EMPNO ASC;
③ SELECT * FROM EMP ORDER BY ENAME DESC;
④ SELECT * FROM EMP ORDER BY MGR ASC, SAL ASC;
내가 고른 답 : 3
정답 : 3
해설 : ENAME으로 내림차순 한다
15. 칼럼의 값이 중복된 경우 중복을 제거해서 조회하는 것은?
① ALL
② DISTINCT
③ UNIQUE
④ DESC
내가 고른 답 : 2
정답 : 2
해설 : DISTINCT는 칼럼명 앞에 지정하여 중복된 데이터를 한 번만 조회하게 한다.
16. 다음은 NULL에 대한 설명이다. 올바르지 않은 것은?
① NULL은 모르는 값을 의미한다.
② NULL은 값의 부재를 의미한다.
③ NULL과 숫자 혹은 날짜를 더하면 문자가 된다.
④ NULL과 모든 비교는 알수 없음을 반환한다.
내가 고른 답 : 1
정답 : 3
해설 : NULL과 숫자 혹은 날짜를 더하면 NULL이 된다.
17. GROUP BY 시에 조건을 서술하는 문은?
① WHERE
② GROUP BY
③ HAVING
④ ORDER BY
내가 고른 답 : 3
정답 : 3
해설 : GROUP BY 시에 조건을 서술하는 것은 HAVING구 이다
18. COUNT(*)와 COUNT(MGR)의 근본적 차이점은 무엇인가?
① 동일한 행 수를 되돌린다. 따라서 차이점이 없다.
② NULL 값을 제외하는지 여부이다.
③ 행 수의 차이다.
④ 성능 차이이다.
내가 고른 답 : 2
정답 : 2
해설 : COUNT(*)은 NULL 값을 포함한 행수를 계산하고 COUNT(MGR)은 NULL을 제외한 행 수를 계산한다.
19. 날짜형 데이터를 문자로 변혼할 때 사용하는 변환 함수는 무엇인가?
① TO_NUMBER()
② TO_CHAR()
③ TO_DATE()
④ TO_FORMAT
내가 고른 답 : 2
정답 : 2
해설 : TO_CHAR 는 숫자 혹은 날짜, 문자를 지정된 포멧으로 변환한다
20. 다음의 SQL 결과는 무엇인가?
SELECT CEIL(10.9) FROM DUAL;
① 0
② 10
③ 11
④ 12
내가 고른 답 : 2
정답 : 3
해설 : CEIL 함수는 숫자보다 크거나 같은 최소의 정수를 돌려준다.
21. 다음 A와 B로 올바른 것은?
① A-ASC, B-ASC
② A-ASC, B-DESC
③ A-DESC, B-NULL
④ A-DESC, B-ASC
내가 고른 답 : 4
정답 : 4
해설 : 조회된 데이터를 확인해보면 ENAME 으로 내림차순(DESC)하고 SAL 로 오름차순(ASC)한다. 그런데 위의 예에서는 SAL 데이터가 ENAME 별로 한 건씩 있기 때문에 오름차순으로 하던지 내림차순으로 하던지 결과는 동일하다. NULL 값으로 하면 SQL 조회가 안된다
22. TCL 문 2개와 DCL 문 2개를 쓰시오
내가 고른 답 : COMMIT, SAVEPOINT - ORDER BY, GROUP BY
정답 : TCL은 COMMIT, ROLLBACK 이고 DCL 은 GRANT 와 REVOKE 이다.
해설 :
23. 다음 SQL 문의 실행 결과는?
SELECT (12/NULL)*2 FROM DUAL;
① 17
② 18
③ NULL
④ 0
내가 고른 답 : 3
정답 : 3
해설 : NULL 값과 산술 연산을 하면 NULL이 된다.
24. 트랜잭션은 자기의 연산에 대하여 전부(all) 또는 전무(nothing) 실행만이 존재하며, 일부 실행으로는 트랜잭션의 기능을 가질 수 없다는 트랜잭션의 특성은?
① Atomicity
② Isolation
③ Consistency
④ Durability
내가 고른 답 : 2
정답 : 1
해설 : Atomicity(원자성) 은 모든 트랜잭션은 완전히 처리되거나 아니면 전혀 영향이 없어야 하는 특성이다.
25. 다음의 SQL 문 실행 결과로 올바른 것은?
SELECT COALESCE(NULL, '2', '1') FROM DUAL;
① 0
② 1
③ 2
④ 3
내가 고른 답 : 3
정답 : 3
해설 : COALESCE 문은 NULL이 아닌 첫번째 인자값을 반환한다.
26. 다음의 SQL 문 실행 결과로 올바른 것은?
SELECT ROUND(38.5244) FROM DUAL;
① 38
② 39
③ 40
④ 38.5
내가 고른 답 : 4
정답 : 2
해설 : ROUND 함수는 반올림하여 반환한다. 따라서 39가 반환된다.
27. EMP 테이블에 DEPT 테이블의 기본키 DEPTNO 칼럼을 참조하는 외래키 FK_DEPT를 추가하고자 한다. 적절한 ALTER TABLE 문을 작성하시오
내가 고른 답 : ALTER TABLE EMP ???
정답 : ARTER TABLE EMP ADD CONSTRAINT FK DEPT
FOREIGN KEY (DEPTNO) REFERENCES DEPT (DEPTNO);
해설 :
28. <보기>의 SQL 문을 보고 'Limbest, 기술사' 로 나오게 SQL 문을 수정하시오
<보기>
SELECT 'LimBest', '' FROM DUAL
UNION ALL
SELECT '', '기술사' FROM DUAL;
내가 고른 답 : ???
정답 : SELECT MAX(A), MAX(B) FROM
(SELECT 'Limbest' A, '' B FROM DUAL
UNION ALL
SELECT '' A, '기술사' B FROM DUAL);
해설 : SELECT MAX(A), MAX(B) FROM - 서브 쿼리와 MAX 함수를 사용해서 SQL문을 수정해야 한다
'파이썬 > SQLD' 카테고리의 다른 글
[SQLD] 시험준비 4주 1일차 - SQL 활용2 (0) | 2022.05.23 |
---|---|
[SQLD] 시험준비 3주 5일차 - SQL 활용 (0) | 2022.05.22 |
[SQLD] 시험준비 3주 3일차 - DML4, DCL, TCL (0) | 2022.05.19 |
[SQLD] 시험준비 3주 2일차 - DML3 (0) | 2022.05.18 |
[SQLD] 시험준비 3주 1일차 - DML2 (0) | 2022.05.16 |