1.쉬움
INNER JOIN이 반환하는 것은 무엇입니까?
- A두 테이블의 모든 행
- B왼쪽 테이블의 모든 행, 일치하는 행이 없으면 NULL로 채움
- C일치하지 않는 행
- D두 테이블 모두에서 값이 일치하는 행만
2.쉬움
쿼리에서 GROUP BY는 무엇을 합니까?
- A같은 값을 가진 행들을 그룹으로 묶어 그룹마다 집계를 계산하게 한다
- BNULL 값이 있는 행을 제거한다
- C두 테이블을 공통 열로 조인한다
- D결과 행을 알파벳순으로 정렬한다
3.쉬움
SQL에서 NULL은 무엇을 나타냅니까?
- A빈 문자열
- B숫자 열에서의 숫자 0
- C누락되었거나 알 수 없는 값
- DBoolean 값 false
4.보통
ACID에서 "A"는 무엇을 의미합니까?
- A집계(Aggregation)
- B가용성(Availability)
- C원자성(Atomicity)
- D정확성(Accuracy)
5.보통
한 번도 주문하지 않은 고객을 나열하는 쿼리는 무엇입니까?
- ASELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NOT NULL
- BSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
- CSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id = NULL
- DSELECT c.name FROM customers c INNER JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
6.보통
한 테이블이 모든 주문 행에 고객의 주소를 저장합니다. 한 행의 주소는 바꾸고 다른 행은 바꾸지 않는 것은 무엇의 예입니까?
- A팬텀 읽기
- B삽입 이상
- C갱신 이상
- D삭제 이상
7.어려움
WHERE YEAR(order_date) = 2025가 포함된 쿼리가 order_date의 인덱스를 사용하지 않을 수 있는 이유는 무엇입니까?
- A열에 함수를 적용하면 단순한 인덱스 범위 검색을 할 수 없기 때문
- B인덱스는 날짜에 대해 절대 작동하지 않기 때문
- Corder_date의 인덱스는 ORDER BY 절에서만 사용되고 WHERE에서는 결코 사용되지 않기 때문
- DYEAR는 유효한 SQL이 아니기 때문
8.어려움
3NF와 비교하여 테이블을 BCNF로 분해할 때 알려진 단점은 무엇입니까?
- ABCNF는 3NF보다 더 많은 중복을 허용한다
- B분해하면 다시 조인할 때 항상 데이터가 손실된다
- C일부 함수 종속성을 더 이상 하나의 테이블 안에서 검사할 수 없을 수 있다
- DBCNF 테이블은 기본 키를 가질 수 없다
정답표
- 1. D · 두 테이블 모두에서 값이 일치하는 행만
- 2. A · 같은 값을 가진 행들을 그룹으로 묶어 그룹마다 집계를 계산하게 한다
- 3. C · 누락되었거나 알 수 없는 값
- 4. C · 원자성(Atomicity)
- 5. B · SELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
- 6. C · 갱신 이상
- 7. A · 열에 함수를 적용하면 단순한 인덱스 범위 검색을 할 수 없기 때문
- 8. C · 일부 함수 종속성을 더 이상 하나의 테이블 안에서 검사할 수 없을 수 있다
자세한 단계별 풀이: examproblems.com에서 이 주제를 연습하세요.