정보처리기사 실기 SQL 문제 10선 정답과 해설

작성·검토정보처리기사 학습센터 편집부 게시일 최종 확인일

정보처리기사 실기에서 자주 연습해야 하는 SQL 유형을 SELECT, 집계, JOIN, 서브쿼리, DDL, DML로 나누어 만든 학습용 재구성 문제입니다. 실제 기출문장을 복원한 자료가 아니라 출제 범위를 익히기 위한 자체 문제입니다.

EMPLOYEE 테이블은 EMP_ID, EMP_NAME, DEPT_ID, SALARY 컬럼을 사용하고, DEPARTMENT 테이블은 DEPT_ID, DEPT_NAME 컬럼을 사용한다고 가정합니다.

SELECT와 조건 검색

문제 1

급여가 4000 이상인 사원의 이름과 급여를 급여 내림차순으로 조회하는 SQL을 작성하세요.

정답
SELECT EMP_NAME, SALARY FROM EMPLOYEE WHERE SALARY >= 4000 ORDER BY SALARY DESC;

WHERE가 행을 먼저 고르고 ORDER BY가 결과 순서를 정합니다. DESC는 내림차순입니다.

문제 2

이름이 K로 시작하는 사원을 조회하는 조건식을 작성하세요.

정답
WHERE EMP_NAME LIKE 'K%'

%는 길이가 0 이상인 임의 문자열을 의미합니다.

집계 함수와 그룹

문제 3

부서별 사원 수와 평균 급여를 조회하는 SQL을 작성하세요.

정답
SELECT DEPT_ID, COUNT(*) AS EMP_COUNT, AVG(SALARY) AS AVG_SALARY FROM EMPLOYEE GROUP BY DEPT_ID;

문제 4

사원이 3명 이상인 부서만 조회하도록 문제 3의 SQL을 수정하세요.

정답
SELECT DEPT_ID, COUNT(*) AS EMP_COUNT FROM EMPLOYEE GROUP BY DEPT_ID HAVING COUNT(*) >= 3;

집계 결과 조건은 WHERE가 아니라 HAVING에 작성합니다.

JOIN 문제

문제 5

사원명과 소속 부서명을 조회하는 INNER JOIN을 작성하세요.

정답
SELECT E.EMP_NAME, D.DEPT_NAME FROM EMPLOYEE E INNER JOIN DEPARTMENT D ON E.DEPT_ID = D.DEPT_ID;

문제 6

소속 부서가 없는 사원도 결과에 포함하려면 어떤 JOIN을 사용해야 하나요?

정답
EMPLOYEE를 왼쪽 테이블로 둔 LEFT OUTER JOIN을 사용합니다.
SELECT E.EMP_NAME, D.DEPT_NAME FROM EMPLOYEE E LEFT OUTER JOIN DEPARTMENT D ON E.DEPT_ID = D.DEPT_ID;

서브쿼리 문제

문제 7

전체 평균 급여보다 높은 급여를 받는 사원의 이름과 급여를 조회하세요.

정답
SELECT EMP_NAME, SALARY FROM EMPLOYEE WHERE SALARY > (SELECT AVG(SALARY) FROM EMPLOYEE);

문제 8

개발팀 소속 사원을 조회하는 IN 서브쿼리를 작성하세요.

정답
SELECT EMP_NAME FROM EMPLOYEE WHERE DEPT_ID IN (SELECT DEPT_ID FROM DEPARTMENT WHERE DEPT_NAME = '개발팀');

DDL과 DML 문제

문제 9

EMPLOYEE 테이블에 이메일 컬럼 EMAIL VARCHAR(100)을 추가하세요.

정답
ALTER TABLE EMPLOYEE ADD EMAIL VARCHAR(100);

문제 10

부서번호가 10인 사원의 급여를 10% 인상하세요.

정답
UPDATE EMPLOYEE SET SALARY = SALARY * 1.1 WHERE DEPT_ID = 10;

UPDATE와 DELETE에서 WHERE를 빠뜨리면 모든 행이 변경될 수 있으므로 시험에서도 먼저 변경 대상을 확인하는 습관이 중요합니다.

SQL 문제 풀이 체크리스트

  • NULL 비교에는 = NULL이 아니라 IS NULL을 사용했는가?
  • 집계 조건을 HAVING에 썼는가?
  • JOIN 조건의 두 컬럼을 정확히 연결했는가?
  • 중복 제거가 필요할 때 DISTINCT를 사용했는가?
  • UPDATE와 DELETE에 WHERE가 필요한지 확인했는가?

시험 일정은 2026 정보처리기사 3회 실기 일정에서 확인하고, 프로그래밍 문제는 CJava 문제로 이어서 연습하세요.

같은 분류의 글

XP(eXtreme Programming) 모델 5대 가치 리눅스 Bash 쉘에서 export란? 정보처리기사 실기 Python 문제 8선 정답과 해설 정보처리기사 실기 C 문제 8선 정답과 해설 정보처리기사 실기 Java 문제 8선 정답과 해설
카톡에서 정보 얻기