정보처리기사 CBT
종목 메뉴

개념 한 쪽

정보처리기사 그룹 함수 — 집계 함수와 DDL·DML·DCL 구분

그룹 함수 세트는 SQL을 용도별로 나눈 DDL·DML·DCL의 구분과, 여러 행을 모아 값을 계산하는 집계 함수를 함께 묻는다. 함수 이름과 기능의 짝, HAVING 절이 어떤 구문과 쓰이는지가 문제의 중심이다.

2026-10-19 기준 · 정보처리기사 대시보드

이 개념을 문제로 확인하고 싶으면 이 개념 문제 10개 풀기 회원용

가입 없이 오늘의 10문제 바로 풀기 →

시험에 이렇게 나온다

출제기준 단원 「그룹 함수」의 공개 문제 3개를 묻는 꼴별로 나누면 이렇습니다.

묻는 꼴문제 수무엇을 묻나
내장함수의 기능1함수와 기능의 올바른 연결
SQL 문장 이해1UPDATE 등 문장의 옳은 설명
데이터 제어 언어1제어 언어의 기능에 맞는 것 고르기

뜻

SQL 명령은 사용 용도에 따라 DDL, DML, DCL로 나뉜다. DDL(데이터 정의어)은 구조를 정의하는 명령으로 CREATE, ALTER가 여기에 속한다. DML(데이터 조작어)은 데이터를 조작하는 명령으로 INSERT, DELETE, UPDATE, SELECT가 해당하며, 응용 프로그램과 DBMS 사이의 인터페이스 역할을 한다. DCL(데이터 제어어)은 권한 부여와 롤백 등 데이터 접근 제어와 트랜잭션 관리를 담당한다. GRANT는 DCL이므로 INSERT·UPDATE·SELECT 같은 조작어와 성격이 다르고, CREATE도 DDL이라 조작어 묶음에서 빠진다.

UPDATE 문은 기존 튜플의 내용을 변경할 때 쓴다. 새로운 행을 넣는 것은 INSERT이고, 모든 행을 갱신할 때는 WHERE 절이 반드시 필요한 것은 아니다.

그룹(집계) 함수는 여러 행의 값을 모아 하나의 결과를 낸다. 여러 행의 값을 더해 합계를 구하는 함수는 SUM이다. '합계를 구하는 함수 — TOT'처럼 표준에 없는 이름을 붙인 보기는 틀린 연결이 된다. HAVING 절은 GROUP BY로 그룹화된 집합 데이터에 대한 필터링 조건으로 쓰이므로 GROUP BY와 함께 사용해야 한다.

예제

선지 판단은 CREATE를 DDL로, INSERT·UPDATE·DELETE·SELECT를 DML로, GRANT를 DCL로 갈라 놓는지, DML을 응용 프로그램과 DBMS 사이의 인터페이스로 읽는지, UPDATE를 기존 튜플의 내용 변경으로 보는지, 합계 함수를 SUM으로 짝지어 TOT 같은 가짜 이름을 걸러 내는지, HAVING 절을 GROUP BY와 묶는지에서 갈린다.

대표 기출 3문항

데이터 제어 언어(DCL)의 기능으로 볼 수 있는 것은?

  1. 데이터 정의 및 변경
  2. 데이터 검색
  3. 데이터 복구 및 병행제어
  4. 데이터 사용자와 DBMS 간의 인터페이스 제공
정답과 해설 보기

정답 ③ · 데이터 제어 언어(DCL)의 기능을 묻는 문제이다. DCL은 GRANT, REVOKE 같은 보안과 권한 부여 및 회수 기능과 COMMIT, ROLLBACK 같은 트랜잭션 제어 기능을 담당하므로 데이터 복구와 병행 제어가 DCL의 기능에 해당한다.

DCL은 데이터 제어 언어로, 권한 부여와 롤백 등 데이터 접근 제어 및 트랜잭션 관리를 담당하는 언어이다.

SQL의 UPDATE 문에 대한 설명으로 옳은 것은?

  1. 새로운 튜플을 삽입할 때 사용한다.
  2. 테이블 전체를 UPDATE 하기 위해서는 반드시 WHERE 절을 사용하여야 한다.
  3. UPDATE 될 속성의 순서는 CREATE TABLE 에 명시되었던 순서이어야 한다.
  4. 튜플의 내용을 변경하는데 사용한다.
정답과 해설 보기

정답 ④ · SQL의 UPDATE 문의 용도와 특성을 묻는 문제이다. UPDATE 문은 이미 존재하는 튜플의 속성값을 수정하는 DML 명령어이므로 튜플의 내용을 변경하는 데 사용한다는 설명이 옳다.

SQL의 UPDATE 문은 기존 튜플의 내용을 변경할 때 사용하며, 새로운 삽입은 INSERT, 전체 업데이트 시 WHERE 절 필수 아님으로 정답입니다.

데이터 처리를 위하여 응용 프로그램과 DBMS 사이의 인터페이스 제공의 역할을 하는 데이터 언어는?

  1. DCL
  2. DUL
  3. DML
  4. DDL
정답과 해설 보기

정답 ③ · 이 문제는 응용 프로그램과 DBMS 사이의 인터페이스 역할을 하는 데이터 언어를 묻는다. DML(Data Manipulation Language)은 데이터의 검색, 삽입, 삭제, 갱신 등을 수행하는 데이터 조작 언어로, 응용 프로그램이 DBMS의 데이터를 실질적으로 접근하고 조작할 수 있는 인터페이스를 제공한다.

응용 프로그램과 DBMS 간 데이터 조작을 위한 인터페이스는 DML(데이터 조작 언어)이다.

자주 묻는 물음

GRANT와 CREATE는 각각 어느 언어에 속하나요?
GRANT는 권한 부여를 담당하는 DCL(데이터 제어어)이고, CREATE는 구조를 정의하는 DDL(데이터 정의어)입니다. INSERT·UPDATE·SELECT 같은 DML과는 성격이 다릅니다.
합계를 구하는 집계 함수는 무엇인가요?
SUM입니다. TOT 같은 이름의 함수는 SQL 표준에 존재하지 않으므로 보기에 나오면 오답입니다.
HAVING 절은 언제 쓰나요?
GROUP BY로 그룹화된 집합 데이터에 필터링 조건을 줄 때 쓰입니다. 따라서 GROUP BY와 함께 사용해야 합니다.
이 개념 문제 10개 풀기 회원용

정보처리기사 풀이 세트에서 이 개념의 문제 10개를 바로 풀어 보세요.