1.쉬움
후보 키(candidate key)란 무엇입니까?
- ANULL 값을 포함하는 모든 열
- B외래 키가 되기를 기다리는 열
- C각 행을 고유하게 식별하는 최소한의 열 집합
- D두 테이블의 행을 연결하기 위해 공유하는 열 집합
2.쉬움
테이블에서 데이터를 조회하는 SQL 문은 무엇입니까?
- ACREATE
- BUPDATE
- CSELECT
- DINSERT
3.쉬움
결과에서 중복 행을 제거하는 SQL 키워드는 무엇입니까?
- ASINGLE
- BUNIQUE
- CDISTINCT
- DDIFFERENT
4.보통
SQL에서 뷰(view)란 무엇입니까?
- A디스크에 있는 테이블의 복사본
- B인덱스의 한 종류
- C데이터베이스 클라이언트에서 테이블을 둘러보는 화면
- D가상 테이블처럼 동작하는 저장된 쿼리
5.보통
orders 테이블에는 각각 기존 고객을 참조하는 5개의 행이 있습니다. customers 테이블에는 3개의 행이 있습니다. customer_id로 INNER JOIN하면 몇 개의 행이 반환됩니까?
- A15
- B5
- C3
- D8
6.보통
데이터베이스 트리거란 무엇입니까?
- A테이블에 INSERT, UPDATE, DELETE 같은 지정된 이벤트가 발생할 때 자동으로 실행되는 코드
- B사용자가 직접 실행하는 쿼리
- C데이터베이스의 예약된 백업
- D검색 속도를 높이는 인덱스의 한 종류
7.어려움
R(A, B, C, D)에 함수 종속성 A → B와 C → D가 있습니다. 후보 키는 무엇입니까?
- A{A}
- B{C}
- C{A, C}
- D{B, D}
8.어려움
customers LEFT JOIN orders 후에 고객별 주문 수를 셀 때 COUNT(*) 대신 COUNT(o.id)를 사용하는 이유는 무엇입니까?
- ACOUNT(*)는 조인 후에 사용할 수 없기 때문에
- BCOUNT(*)는 NULL 값이 있는 행을 무시하기 때문에
- CCOUNT(o.id)는 서로 다른 고객만 세기 때문에
- DCOUNT(*)는 주문이 없는 고객의 NULL로 채워진 행을 1로 세기 때문에
정답표
- 1. C · 각 행을 고유하게 식별하는 최소한의 열 집합
- 2. C · SELECT
- 3. C · DISTINCT
- 4. D · 가상 테이블처럼 동작하는 저장된 쿼리
- 5. B · 5
- 6. A · 테이블에 INSERT, UPDATE, DELETE 같은 지정된 이벤트가 발생할 때 자동으로 실행되는 코드
- 7. C · {A, C}
- 8. D · COUNT(*)는 주문이 없는 고객의 NULL로 채워진 행을 1로 세기 때문에
자세한 단계별 풀이: examproblems.com에서 이 주제를 연습하세요.