정처기 실기 SQL 문제 모음 👺 | 자주 출제되는 기출 문제
요약
정보처리기사 실기 시험에 나오는 SQL 문제를 단계별로 풀어보며 INSERT, UPDATE 등 기본 SQL 문법을 익힙니다. 실제 시험 문제 유형과 답안 작성법을 포함합니다.
SQL은 각 상황에 대한 쿼리 설명 후 문제를 풉니다.
마지막에는 모든 문제를 다시 풀어볼 수 있습니다.
문제를 보고 SQL에 대한 감을 가져가세요.
📋 목차
목차 펼치기
➕ 테이블에 데이터를 추가해야 하는 경우
INSERT INTO table_name (column1, column2, column3, ... : 생략가능)
VALUES (value1, value2, value3, ...);
문제 | 빈칸을 채우세요. 신입사원이 입사하여 사원 테이블에 신입사원 정보 추가하는 SQL문 INSERT INTO 사원(사원번호, 이름, 나이) _____ (100,'홍길동',20); |
답변 | |
정답 | 정답 보기 |
➖ 테이블 데이터를 삭제해야 하는 경우
DELETE FROM table_name
WHERE condition;
문제 | 빈칸을 채우세요. 사원이 퇴사하여 삭제하는 SQL문 DELETE _____ 사원 WHERE 사원번호 = 100; |
답변 | |
정답 | 정답 보기 |
✏️ 테이블 데이터를 수정해야 하는 경우
UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;
문제 | 빈칸을 채우세요. 사원 테이블에서 부서의 주소를 수정하는 SQL문 UPDATE 사원 _____ 주소 = '서울' WHERE 부서 = '개발부'; |
답변 | |
정답 | 정답 보기 |
🗑️ 테이블 제거할 때
해당 테이블을 참조하지 않으면 테이블 삭제, 참조하면 테이블 삭제 불가
DROP TABLE table_name RESTRICT;
문제 | 사원 테이블 제거할 때 사원 테이블 참조하지 않으면 테이블 삭제하고 참조하는 경우 테이블을 삭제하지 않도록 하는 DDL문 작성하시오. |
답변 | |
정답 | 정답 보기 |
참조하는 테이블까지 연쇄적으로 삭제
DROP TABLE table_name CASCADE;
문제 | 괄호 ( ) 안에 알맞은 옵션을 쓰시오. 테이블을 DROP 하려고 하는데 테이블에 외래키가 걸려 있다. 참조하는 테이블까지 연쇄적으로 제거할땐 ( 1 ) 옵션을 사용하고, 다른 테이블이 참조 중일때 제거하지 않도록 하려면 ( 2 ) 옵션을 사용한다. |
답변 | |
정답 | 정답 보기 |
문제 | 회사 테이블 제거할 때 회사 테이블을 참조하는 모든 데이터도 함께 제거하는 DDL문 작성하시오. |
답변 | |
정답 | 정답 보기 |
🔑 권한 회수
REVOKE privilege_type ON TABLE_NAME FROM user_name;
문제 | 관리자가 USER로부터 사원 테이블에 대해 UPDATE 할 수 있는 권한을 회수하는 SQL문 작성하시오. |
답변 | |
정답 | 정답 보기 |
🖼️ 뷰 생성
CREATE VIEW view_name AS
SELECT column1, column2, ...
FROM table_name
WHERE condition;
문제 | 회사 테이블을 이용해 부서라는 이름의 뷰를 만들려고 한다. 밑줄을 채우세요. CREATE VIEW 부서 _____ SELECT 부서명, 부서위치 FROM 회사; |
답변 | |
정답 | 정답 보기 |
📉 두 개 컬럼 내림차순 정렬
column1 먼저 내림차순으로 정렬하고, column2 내림차순으로 정렬하려면...
SELECT column1, column2, ...
FROM table_name
ORDER BY column1 DESC, column2 DESC;
문제 | 회사 테이블에서 부서명과 부서위치를 기준으로 데이터를 내림차순으로 정렬하는 SQL문 작성하시오. (부서 위치 먼저 내림차순 정렬하고 부서 위치가 같을 경우 부서명 내림차순 정렬) (모든 컬럼 조회) |
답변 | |
정답 | 정답 보기 |
📇 인덱스 생성
CREATE INDEX index_name ON table_name (column1, column2, ...);
문제 | 회사 테이블에서 부서명과 부서위치 컬럼에 대해 부서인덱스라는 이름의 인덱스를 생성하는 SQL문 작성하시오. |
답변 | |
정답 | 정답 보기 |
🎯 특정 범위에 포함된 값을 가진 데이터 조회
BETWEEN
SELECT column1, column2, ...
FROM table_name
WHERE column1 BETWEEN value1 AND value2;
문제 | 회사 테이블에서 부서번호가 1~3 범위에 포함된 부서를 조회하는 SQL문 작성하시오. (모든 컬럼 조회) |
답변 | |
정답 | 정답 보기 |
IN
SELECT column1, column2, ...
FROM table_name
WHERE column1 IN (value1, value2, ...);
문제 | 회사 테이블에서 부서명이 개발부, 인사부, 총무부인 부서를 조회하는 SQL문 작성하시오. (모든 컬럼 조회) |
답변 | |
정답 | 정답 보기 |
🔍 특정 문자로 시작하는 데이터 조회
SELECT column1, column2, ...
FROM table_name
WHERE column1 LIKE 'value%';
문제 | 회사 테이블에서 부서명이 '개'로 시작하는 부서를 조회하는 SQL문 작성하시오. (모든 컬럼 조회) |
답변 | |
정답 | 정답 보기 |
🤔 특정문자 앞에 딱 한글자만 있는 데이터 조회
SELECT column1, column2, ...
FROM table_name
WHERE column1 LIKE '_value';
문제 | 회사 테이블에서 부서명이 '부' 앞에 한 글자만 추가된 부서를 조회하는 SQL문 작성하시오. (모든 컬럼 조회) |
답변 | |
정답 | 정답 보기 |
📊 합계에 조건을 걸고 조회할 때
SELECT column2, SUM(column1) AS total
FROM table_name
WHERE condition;
GROUP BY column2;
HAVING SUM(column1) condition;
문제 | 회사 테이블에서 부서명별 부서 인원 합계가 10명 이상인 부서명과 부서인원합계를 조회하는 SQL문 작성하시오. (회사 테이블 컬럼 : 부서명, 부서인원) |
답변 | |
정답 | 정답 보기 |
❓ NULL 값 데이터 조회
특정 컬럼의 값이 NULL인 레코드를 찾을 때 사용합니다.
SELECT column1, column2, ...
FROM table_name
WHERE column_name IS NULL;
문제 | `사원` 테이블에서 아직 부서가 배정되지 않은(부서코드가 NULL인) 사원의 이름을 조회하는 SQL문을 작성하시오. (사원 테이블 컬럼 : 이름, 부서코드) |
답변 | |
정답 | 정답 보기 |
🏗️ 테이블 구조 변경 (ALTER TABLE)
기존 테이블에 새로운 컬럼을 추가할 때 사용합니다.
ALTER TABLE table_name
ADD column_name datatype;
문제 | `사원` 테이블에 `연락처`라는 이름의 `VARCHAR(20)` 타입 컬럼을 추가하는 SQL문을 작성하시오. |
답변 | |
정답 | 정답 보기 |
🔄 서브쿼리 사용
다른 SQL문 안에 포함된 쿼리로, 복잡한 조건을 처리할 때 유용합니다.
SELECT column1, column2, ...
FROM table_name
WHERE column_name IN (SELECT column_name FROM another_table WHERE condition);
문제 | `부서` 테이블에서 `서울`에 위치한 부서에 근무하는 모든 사원의 이름을 `사원` 테이블에서 조회하는 SQL문을 서브쿼리를 사용하여 작성하시오. (부서 테이블의 컬럼 : 부서코드, 부서명, 부서위치) (사원 테이블의 컬럼 : 사원번호, 이름, 부서코드) |
답변 | |
정답 | 정답 보기 |
🔢 데이터 개수 세기
특정 조건을 만족하는 행(row)의 개수를 셀 때 사용합니다.
SELECT COUNT(column_name)
FROM table_name
WHERE condition;
문제 | `사원` 테이블에서 `개발부`에 속한 사원의 총 수를 계산하는 SQL문을 작성하시오. (사원 테이블 컬럼 : 이름, 부서) |
답변 | |
정답 | 정답 보기 |
🔃 복습 문제
문제 | 회사 테이블에서 부서명이 '부' 앞에 한 글자만 추가된 부서를 조회하는 SQL문 작성하시오. (모든 컬럼 조회) |
답변 | |
정답 | 정답 보기 |
문제 | 빈칸을 채우세요. 사원 테이블에서 부서의 주소를 수정하는 SQL문 UPDATE 사원 _____ 주소 = '서울' WHERE 부서 = '개발부'; |
답변 | |
정답 | 정답 보기 |
문제 | 회사 테이블에서 부서번호가 1~3 범위에 포함된 부서를 조회하는 SQL문 작성하시오. (모든 컬럼 조회) |
답변 | |
정답 | 정답 보기 |
문제 | `사원` 테이블에서 `개발부`에 속한 사원의 총 수를 계산하는 SQL문을 작성하시오. (사원 테이블 컬럼 : 이름, 부서) |
답변 | |
정답 | 정답 보기 |
문제 | 관리자가 USER로부터 사원 테이블에 대해 UPDATE 할 수 있는 권한을 회수하는 SQL문 작성하시오. |
답변 | |
정답 | 정답 보기 |
문제 | 회사 테이블에서 부서명이 개발부, 인사부, 총무부인 부서를 조회하는 SQL문 작성하시오. (모든 컬럼 조회) |
답변 | |
정답 | 정답 보기 |
문제 | 회사 테이블을 이용해 부서라는 이름의 뷰를 만들려고 한다. 밑줄을 채우세요. CREATE VIEW 부서 _____ SELECT 부서명, 부서위치 FROM 회사; |
답변 | |
정답 | 정답 보기 |
문제 | 빈칸을 채우세요. 신입사원이 입사하여 사원 테이블에 신입사원 정보 추가하는 SQL문 INSERT INTO 사원(사원번호, 이름, 나이) _____ (100,'홍길동',20); |
답변 | |
정답 | 정답 보기 |
문제 | 회사 테이블에서 그룹별 부서인원합계가 10명 이상인 그룹명과 부서인원합계를 조회하는 SQL문 작성하시오. (회사 테이블 컬럼 : 그룹명, 부서명, 부서인원) |
답변 | |
정답 | 정답 보기 |
문제 | `부서` 테이블에서 `서울`에 위치한 부서에 근무하는 모든 사원의 이름을 `사원` 테이블에서 조회하는 SQL문을 서브쿼리를 사용하여 작성하시오. (부서 테이블의 컬럼 : 부서코드, 부서명, 부서위치) (사원 테이블의 컬럼 : 사원번호, 이름, 부서코드) |
답변 | |
정답 | 정답 보기 |
문제 | 회사 테이블 제거할 때 회사 테이블을 참조하는 모든 데이터도 함께 제거하는 DDL문 작성하시오. |
답변 | |
정답 | 정답 보기 |
문제 | 회사 테이블에서 부서명이 '개'로 시작하는 부서를 조회하는 SQL문 작성하시오. (모든 컬럼 조회) |
답변 | |
정답 | 정답 보기 |
문제 | 사원 테이블 제거할 때 사원 테이블 참조하지 않으면 테이블 삭제하고 참조하는 경우 테이블을 삭제하지 않도록 하는 DDL문 작성하시오. |
답변 | |
정답 | 정답 보기 |
문제 | `사원` 테이블에서 아직 부서가 배정되지 않은(부서코드가 NULL인) 사원의 이름을 조회하는 SQL문을 작성하시오. (사원 테이블 컬럼 : 이름, 부서코드) |
답변 | |
정답 | 정답 보기 |
문제 | 회사 테이블에서 부서명과 부서위치 컬럼에 대해 부서인덱스라는 이름의 인덱스를 생성하는 SQL문 작성하시오. |
답변 | |
정답 | 정답 보기 |
문제 | 빈칸을 채우세요. 사원이 퇴사하여 삭제하는 SQL문 DELETE _____ 사원 WHERE 사원번호 = 100; |
답변 | |
정답 | 정답 보기 |
문제 | 괄호 ( ) 안에 알맞은 옵션을 쓰시오. 테이블을 DROP 하려고 하는데 테이블에 외래키가 걸려 있다. 참조하는 테이블까지 연쇄적으로 제거할땐 ( 1 ) 옵션을 사용하고, 다른 테이블이 참조 중일때 제거하지 않도록 하려면 ( 2 ) 옵션을 사용한다. |
답변 | |
정답 | 정답 보기 |
문제 | 회사 테이블에서 부서명과 부서위치를 기준으로 데이터를 내림차순으로 정렬하는 SQL문 작성하시오. (부서위치 먼저 내림차순 정렬하고 부서위치가 같을 경우 부서명 내림차순 정렬) (모든 컬럼 조회) |
답변 | |
정답 | 정답 보기 |
문제 | `사원` 테이블에 `연락처`라는 이름의 `VARCHAR(20)` 타입 컬럼을 추가하는 SQL문을 작성하시오. |
답변 | |
정답 | 정답 보기 |