1.쉬움
쿼리에서 열이나 테이블에 임시 대체 이름을 주는 키워드는 무엇입니까?
- AALIAS
- BAS
- CNAME
- DRENAME
2.쉬움
기존 테이블에 새 열을 추가하는 문은 무엇입니까?
- ACREATE COLUMN
- BALTER TABLE
- CINSERT COLUMN
- DUPDATE TABLE
3.쉬움
테이블에서 데이터를 조회하는 SQL 문은 무엇입니까?
- AUPDATE
- BCREATE
- CSELECT
- DINSERT
4.보통
고객별 주문 수를 반환하는 쿼리는 무엇입니까?
- ASELECT DISTINCT COUNT(*) FROM orders
- BSELECT customer_id FROM orders WHERE COUNT(*) > 0
- CSELECT customer_id, COUNT(*) FROM orders GROUP BY customer_id
- DSELECT customer_id, COUNT(*) FROM orders ORDER BY customer_id
5.보통
HAVING에 대한 설명으로 옳은 것은 무엇입니까?
- A결과를 정렬한다
- BSELECT 문에서 WHERE보다 앞에 와야 한다
- CGROUP BY와 함께 사용할 수 없다
- D집계 함수를 사용하여 그룹을 필터링할 수 있다
6.보통
SQL 인젝션(SQL injection)이란 무엇입니까?
- A사용자 입력이 SQL 쿼리의 구조를 변경하는 공격
- BINSERT 문 하나로 많은 행을 빠르게 삽입하는 기법
- C인덱스를 추가하는 방법
- D데이터베이스 백업 기법
7.어려움
트랜잭션 T1은 행 A를 잠그고 행 B를 기다리며, T2는 행 B를 잠그고 행 A를 기다립니다. 일반적인 DBMS는 어떻게 합니까?
- A두 트랜잭션을 동시에 커밋한다
- B두 트랜잭션을 하나로 합친다
- C둘 중 하나가 정상적으로 커밋될 때까지 두 트랜잭션이 모두 기다리게 둔다
- D교착 상태를 감지하고 한 트랜잭션을 희생자로 중단시킨다
8.어려움
두 트랜잭션이 모두 stock = 10을 읽고 각각 1을 빼서 결과를 기록하여 8이 아니라 9가 됩니다. 이것은 어떤 이상 현상입니까?
- A갱신 손실
- B삭제 이상
- C팬텀 읽기
- D더티 읽기
정답표
- 1. B · AS
- 2. B · ALTER TABLE
- 3. C · SELECT
- 4. C · SELECT customer_id, COUNT(*) FROM orders GROUP BY customer_id
- 5. D · 집계 함수를 사용하여 그룹을 필터링할 수 있다
- 6. A · 사용자 입력이 SQL 쿼리의 구조를 변경하는 공격
- 7. D · 교착 상태를 감지하고 한 트랜잭션을 희생자로 중단시킨다
- 8. A · 갱신 손실
자세한 단계별 풀이: examproblems.com에서 이 주제를 연습하세요.