본문으로 바로 가기

정보처리기사 필기 · 데이터베이스 구축 과목

정보처리기사 SQL 활용 핵심정리

중요도
★★★★★ (5 / 5)
출제 비중
데이터베이스 구축 20문항 중 약 7문항 (35%)

DDL·DML·DCL 의 구분과 문법, 조인과 서브쿼리, 집계 함수를 다룹니다.

SQL 활용, 이것만은 꼭 외우세요

  • DDL(정의): CREATE, ALTER, DROP. DML(조작): SELECT, INSERT, UPDATE, DELETE. DCL(제어): GRANT, REVOKE, COMMIT, ROLLBACK.
  • DROP 의 CASCADE 는 참조하는 개체까지 함께 지우고, RESTRICT 는 참조 중이면 지우지 않습니다.
  • DISTINCT 는 중복된 행을 하나만 남깁니다.
  • COUNT(*) 는 Null 을 포함해 세고, COUNT(열 이름)은 Null 을 빼고 셉니다.

SQL 활용 대표 문제 5개

AI 예상문제검수 전데이터베이스 구축 › SQL 활용★★★★★

문제 1. SQL 명령어 가운데 DDL(데이터 정의어)에 해당하는 것은?

  1. ① SELECT
  2. ② INSERT
  3. ③ ALTER
  4. ④ GRANT
▼ 정답과 해설 보기▲ 정답과 해설 접기

정답: ③ ALTER

핵심: DDL: CREATE, ALTER, DROP

DDL 은 테이블 같은 구조를 만들고(CREATE), 고치고(ALTER), 지우는(DROP) 명령입니다.

틀린 선지

  • ① SELECT: 자료를 조회하는 DML 입니다.
  • ② INSERT: 자료를 추가하는 DML 입니다.
  • ④ GRANT: 권한을 주는 DCL 입니다.
AI 예상문제검수 전데이터베이스 구축 › SQL 활용★★★★★

문제 2. <학생> 테이블에서 '학과' 필드의 값을 중복 없이 한 번씩만 조회하는 SQL 문은?

  1. ① SELECT DISTINCT 학과 FROM 학생;
  2. ② SELECT ALL 학과 FROM 학생;
  3. ③ SELECT 학과 FROM 학생 GROUP 학과;
  4. ④ SELECT UNIQUE(학과) IN 학생;
▼ 정답과 해설 보기▲ 정답과 해설 접기

정답: ① SELECT DISTINCT 학과 FROM 학생;

핵심: DISTINCT: 중복된 값을 하나만 남긴다

DISTINCT 를 SELECT 바로 뒤에 쓰면 똑같은 값은 한 번만 나옵니다.

틀린 선지

  • ② SELECT ALL 학과 FROM 학생;: ALL 은 중복을 그대로 모두 보여 줍니다.
  • ③ SELECT 학과 FROM 학생 GROUP 학과;: GROUP BY 로 써야 하며, 문법이 틀렸습니다.
  • ④ SELECT UNIQUE(학과) IN 학생;: 문법이 틀렸습니다.
AI 예상문제검수 전데이터베이스 구축 › SQL 활용★★★★★

문제 3. <사원> 테이블에 5개의 행이 있고, '급여' 열의 값이 300, 400, NULL, 500, NULL 이다. SELECT COUNT(급여) FROM 사원; 의 결과는?

  1. ① 2
  2. ② 3
  3. ③ 5
  4. ④ NULL
▼ 정답과 해설 보기▲ 정답과 해설 접기

정답: ② 3

핵심: COUNT(열 이름)은 Null을 빼고 세고, COUNT(*)는 모두 센다

  1. COUNT(급여)는 급여가 Null 이 아닌 행만 셉니다.
  2. Null 이 아닌 값: 300, 400, 500 → 3개
  3. 결과: 3

틀린 선지

  • ① 2: Null 의 개수입니다.
  • ③ 5: COUNT(*) 의 결과입니다.
  • ④ NULL: COUNT 는 숫자를 돌려줍니다.
AI 예상문제검수 전데이터베이스 구축 › SQL 활용★★★★★

문제 4. DROP TABLE 학생 CASCADE; 의 의미로 옳은 것은?

  1. ① 학생 테이블을 참조하는 다른 개체가 있으면 삭제를 취소한다.
  2. ② 학생 테이블의 이름을 바꾼다.
  3. ③ 학생 테이블의 모든 행만 삭제하고 구조는 남긴다.
  4. ④ 학생 테이블과 함께, 이 테이블을 참조하는 다른 개체도 삭제한다.
▼ 정답과 해설 보기▲ 정답과 해설 접기

정답: ④ 학생 테이블과 함께, 이 테이블을 참조하는 다른 개체도 삭제한다.

핵심: CASCADE는 참조하는 개체까지 함께 삭제, RESTRICT는 참조 중이면 삭제 취소

CASCADE 는 '폭포처럼 이어서'라는 뜻입니다. 지우려는 테이블을 참조하는 것들까지 줄줄이 지웁니다.

틀린 선지

  • ① 학생 테이블을 참조하는 다른 개체가 있으면 삭제를 취소한다.: RESTRICT 의 의미입니다.
  • ② 학생 테이블의 이름을 바꾼다.: ALTER TABLE 의 기능입니다.
  • ③ 학생 테이블의 모든 행만 삭제하고 구조는 남긴다.: DELETE FROM 학생; 또는 TRUNCATE 의 의미입니다.
AI 예상문제검수 전데이터베이스 구축 › SQL 활용★★★★★

문제 5. 사용자 KIM 에게 <사원> 테이블을 조회할 수 있는 권한을 주는 SQL 문은?

  1. ① GRANT SELECT ON 사원 TO KIM;
  2. ② GRANT SELECT TO KIM ON 사원;
  3. ③ REVOKE SELECT ON 사원 FROM KIM;
  4. ④ GIVE SELECT ON 사원 TO KIM;
▼ 정답과 해설 보기▲ 정답과 해설 접기

정답: ① GRANT SELECT ON 사원 TO KIM;

핵심: GRANT 권한 ON 테이블 TO 사용자 / REVOKE 권한 ON 테이블 FROM 사용자

권한을 줄 때는 GRANT ~ ON ~ TO, 거둘 때는 REVOKE ~ ON ~ FROM 형식입니다.

틀린 선지

  • ② GRANT SELECT TO KIM ON 사원;: ON 과 TO 의 순서가 바뀌었습니다.
  • ③ REVOKE SELECT ON 사원 FROM KIM;: 권한을 거두는 명령입니다.
  • ④ GIVE SELECT ON 사원 TO KIM;: GIVE 라는 명령은 없습니다.

직접 풀어서 확인해 보세요.