1.쉬움
CREATE, ALTER, DROP 같은 문은 SQL의 어느 부분에 속합니까?
- A트랜잭션 제어어(TCL)
- B데이터 정의어(DDL)
- C데이터 제어어(DCL)
- D데이터 조작어(DML)
2.쉬움
테이블에서 데이터를 조회하는 SQL 문은 무엇입니까?
- AINSERT
- BUPDATE
- CSELECT
- DCREATE
3.쉬움
트랜잭션에서 COMMIT은 무엇을 합니까?
- A트랜잭션이 시작된 이후의 모든 변경을 취소한다
- B데이터베이스 전체를 잠근다
- C트랜잭션의 모든 변경을 영구적으로 만든다
- D새 테이블을 시작한다
4.보통
테이블 a에는 3개, 테이블 b에는 4개의 행이 있습니다. SELECT * FROM a CROSS JOIN b는 몇 개의 행을 반환합니까?
- A7
- B3
- C4
- D12
5.보통
부서마다 가장 높은 급여를 반환하는 쿼리는 무엇입니까?
- ASELECT dept, MAX(salary) FROM emp GROUP BY dept
- BSELECT dept, salary FROM emp WHERE salary = MAX(salary)
- CSELECT dept, MAX(salary) FROM emp ORDER BY dept
- DSELECT MAX(dept), salary FROM emp GROUP BY salary
6.보통
SELECT price * 2 AS double_price FROM t WHERE double_price > 10이 대부분의 데이터베이스에서 실패하는 이유는 무엇입니까?
- A별칭에 밑줄을 넣을 수 없다
- BSELECT 목록에서는 산술 연산을 할 수 없다
- CWHERE는 텍스트 열만 비교할 수 있다
- DWHERE가 SELECT 목록보다 먼저 평가되므로 별칭이 아직 존재하지 않는다
7.어려움
(last_name, first_name)에 복합 인덱스가 있습니다. 어떤 조건이 이를 가장 효과적으로 사용할 수 있습니까?
- AWHERE first_name = 'Eva'
- BWHERE UPPER(first_name) = 'EVA'
- CWHERE last_name = 'Jansen'
- DWHERE first_name LIKE '%a'
8.어려움
한 테이블에 백만 개의 행이 있고 불리언 열 is_active는 95%가 TRUE입니다. WHERE is_active = TRUE에 대해 옵티마이저가 is_active의 인덱스를 무시할 수 있는 이유는 무엇입니까?
- A옵티마이저는 WHERE 절에서 인덱스를 결코 사용하지 않는다
- B불리언 열에는 인덱스를 만들 수 없다
- C대부분의 행이 일치하므로 전체 테이블 스캔이 많은 인덱스 조회보다 저렴하다
- D인덱스가 TRUE를 NULL로 취급한다
정답표
- 1. B · 데이터 정의어(DDL)
- 2. C · SELECT
- 3. C · 트랜잭션의 모든 변경을 영구적으로 만든다
- 4. D · 12
- 5. A · SELECT dept, MAX(salary) FROM emp GROUP BY dept
- 6. D · WHERE가 SELECT 목록보다 먼저 평가되므로 별칭이 아직 존재하지 않는다
- 7. C · WHERE last_name = 'Jansen'
- 8. C · 대부분의 행이 일치하므로 전체 테이블 스캔이 많은 인덱스 조회보다 저렴하다
자세한 단계별 풀이: examproblems.com에서 이 주제를 연습하세요.