1.쉬움
후보 키(candidate key)란 무엇입니까?
- A외래 키가 되기를 기다리는 열
- B두 테이블의 행을 연결하기 위해 공유하는 열 집합
- CNULL 값을 포함하는 모든 열
- D각 행을 고유하게 식별하는 최소한의 열 집합
2.쉬움
기본 키(primary key)란 무엇입니까?
- A모든 테이블의 첫 번째 열
- B중복 값을 가질 수 있지만 NULL을 포함해서는 안 되는 열
- C데이터베이스의 비밀번호
- D각 행을 고유하게 식별하는 열 또는 열의 집합
3.쉬움
트랜잭션에서 COMMIT은 무엇을 합니까?
- A트랜잭션이 시작된 이후의 모든 변경을 취소한다
- B트랜잭션의 모든 변경을 영구적으로 만든다
- C데이터베이스 전체를 잠근다
- D새 테이블을 시작한다
4.보통
더티 읽기(dirty read)란 무엇입니까?
- A손상된 디스크에서 데이터를 읽는 것
- B아직 커밋하지 않은 다른 트랜잭션이 쓴 데이터를 읽는 것
- CWHERE 절 없이 데이터를 읽는 것
- D같은 행을 두 번 읽어 같은 값을 얻는 것
5.보통
두 SELECT 쿼리 사이에 사용한 INTERSECT는 무엇을 반환합니까?
- A결과들의 카티션 곱
- B두 결과의 모든 행
- C첫 번째 결과에는 있지만 두 번째에는 없는 행
- D두 결과 모두에 나타나는 행
6.보통
부서마다 가장 높은 급여를 반환하는 쿼리는 무엇입니까?
- ASELECT dept, salary FROM emp WHERE salary = MAX(salary)
- BSELECT dept, MAX(salary) FROM emp GROUP BY dept
- CSELECT dept, MAX(salary) FROM emp ORDER BY dept
- DSELECT MAX(dept), salary FROM emp GROUP BY salary
7.어려움
깊이를 알 수 없는 조직도에서 한 관리자 아래의 모든 직원을 찾는 데 가장 적합한 SQL 기능은 무엇입니까?
- Amanager_id에 대한 GROUP BY
- Bmanager_id에 대한 UNIQUE 제약 조건
- C재귀 공통 테이블 식(WITH RECURSIVE)
- Dmanager_id를 기준으로 employees 테이블을 한 번 자기 조인하는 것
8.어려움
SELECT name, dept, AVG(salary) OVER (PARTITION BY dept) FROM emp는 무엇을 반환합니까?
- A부서마다 평균 급여를 담은 한 행
- Bname이 GROUP BY에 없으므로 오류
- C부서 평균보다 많이 버는 직원만
- D모든 직원 행과 그 부서의 평균 급여
정답표
- 1. D · 각 행을 고유하게 식별하는 최소한의 열 집합
- 2. D · 각 행을 고유하게 식별하는 열 또는 열의 집합
- 3. B · 트랜잭션의 모든 변경을 영구적으로 만든다
- 4. B · 아직 커밋하지 않은 다른 트랜잭션이 쓴 데이터를 읽는 것
- 5. D · 두 결과 모두에 나타나는 행
- 6. B · SELECT dept, MAX(salary) FROM emp GROUP BY dept
- 7. C · 재귀 공통 테이블 식(WITH RECURSIVE)
- 8. D · 모든 직원 행과 그 부서의 평균 급여
자세한 단계별 풀이: examproblems.com에서 이 주제를 연습하세요.