1.쉬움
GRANT와 REVOKE는 SQL의 어느 부분에 속합니까?
- A데이터 질의어(DQL)
- B데이터 제어어(DCL)
- C데이터 정의어(DDL)
- D데이터 조작어(DML)
2.쉬움
그룹화 전에 행을 필터링하는 절은 무엇입니까?
- AHAVING
- BORDER BY
- CGROUP BY
- DWHERE
3.쉬움
테이블에 새 행을 추가하는 SQL 문은 무엇입니까?
- ASELECT
- BUPDATE
- CALTER
- DINSERT
4.보통
phone이 NULL인 고객에 대해 SELECT COALESCE(phone, 'unknown') FROM customers는 무엇을 반환합니까?
- A'unknown'
- B오류
- C빈 문자열
- DNULL
5.보통
한 테이블에 클러스터형 인덱스를 하나만 둘 수 있는 이유는 무엇입니까?
- A행은 물리적으로 한 가지 순서로만 저장될 수 있기 때문에
- BSQL 표준이 한 테이블에 둘 이상의 인덱스를 금지하기 때문에
- C클러스터형 인덱스는 기본 키에만 만들 수 있기 때문에
- D클러스터형 인덱스는 메모리를 너무 많이 쓰기 때문에
6.보통
관계 대수에서 셀렉션 연산자(σ)는 어떤 SQL 절에 해당합니까?
- AGROUP BY
- BORDER BY
- CSELECT 목록
- DWHERE
7.어려움
테이블 employee(emp_id, dept_id, dept_name)의 키는 emp_id이고, dept_id → dept_name입니다. 옳은 설명은 무엇입니까?
- A1NF를 만족하지 않는다
- B2NF는 만족하지만 3NF는 만족하지 않는다
- CBCNF를 만족하므로 3NF도 만족한다
- D2NF를 만족하지 않는다
8.어려움
쿼리 FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.status = 'paid'가 예상과 달리 주문이 없는 고객을 빠뜨립니다. 왜 그렇습니까?
- ALEFT JOIN은 일치하지 않는 행을 결코 유지하지 않기 때문에
- B조인에 ON 대신 USING을 써야 하기 때문에
- Cstatus가 예약어이기 때문에
- Do에 대한 WHERE 조건이 NULL로 채워진 행을 거부하여 내부 조인으로 바꾸기 때문에
정답표
- 1. B · 데이터 제어어(DCL)
- 2. D · WHERE
- 3. D · INSERT
- 4. A · 'unknown'
- 5. A · 행은 물리적으로 한 가지 순서로만 저장될 수 있기 때문에
- 6. D · WHERE
- 7. B · 2NF는 만족하지만 3NF는 만족하지 않는다
- 8. D · o에 대한 WHERE 조건이 NULL로 채워진 행을 거부하여 내부 조인으로 바꾸기 때문에
자세한 단계별 풀이: examproblems.com에서 이 주제를 연습하세요.