본문으로 바로 가기

프로그래밍기능사 필기 · SQL 활용 과목

AI 작성 · 운영진 검수 전

프로그래밍기능사 SQL 기본 핵심정리

중요도
★★★★★ (5 / 5)
출제 비중
SQL 활용 15문항 중 약 6문항 (40%)

DDL·DML·DCL 의 구분과 CREATE·ALTER·DROP, SELECT·INSERT·UPDATE·DELETE, GRANT·REVOKE 를 다룹니다.

📖 SQL 기본 개념 정리 보기 →

SQL 기본, 이것만은 꼭 외우세요

  • DDL: CREATE·ALTER·DROP, DML: SELECT·INSERT·UPDATE·DELETE, DCL: GRANT·REVOKE.
  • WHERE 는 행을 거르고 ORDER BY 는 정렬합니다.

SQL 기본 대표 문제 7개

예상문제검수 완료SQL 활용 › SQL 기본★★★★★

문제 1. 다음 중 DDL(데이터 정의어)에 해당하는 SQL 명령어는?

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

정답: ③ CREATE

핵심: DDL: CREATE·ALTER·DROP

SQL 명령어는 세 가지로 나뉩니다.

  1. DDL(정의): CREATE, ALTER, DROP
  2. DML(조작): SELECT, INSERT, UPDATE, DELETE
  3. DCL(제어): GRANT, REVOKE 등

틀린 선지

  • ① UPDATE: UPDATE 는 데이터를 고치는 DML(데이터 조작어)입니다.
  • ② SELECT: SELECT 는 데이터를 조회하는 DML 입니다.
  • ④ GRANT: GRANT 는 권한을 주는 DCL(데이터 제어어)입니다.
예상문제검수 완료SQL 활용 › SQL 기본★★★★★

문제 2. 사용자에게 주었던 권한을 회수하는 SQL 명령어는?

  1. ① DELETE
  2. ② GRANT
  3. ③ ROLLBACK
  4. ④ REVOKE
▼ 정답과 해설 보기▲ 정답과 해설 접기

정답: ④ REVOKE

핵심: GRANT 는 권한 주기, REVOKE 는 권한 회수

권한을 다루는 명령어는 DCL 입니다. GRANT 로 권한을 주고 REVOKE 로 권한을 거두어들입니다.

틀린 선지

  • ① DELETE: DELETE 는 테이블의 행을 지웁니다.
  • ② GRANT: GRANT 는 반대로 권한을 주는 명령어입니다.
  • ③ ROLLBACK: ROLLBACK 은 트랜잭션 작업을 취소해 되돌립니다.
예상문제검수 완료SQL 활용 › SQL 기본★★★★★

문제 3. 테이블은 그대로 두고, 조건에 맞는 행만 지우는 SQL 명령어는?

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

정답: ③ DELETE

핵심: DELETE 는 행 삭제, DROP 은 테이블 삭제

DELETE FROM 테이블 WHERE 조건; 형식으로 조건에 맞는 행만 지웁니다. 테이블의 구조는 남아 있습니다.

틀린 선지

  • ① ALTER: ALTER 는 테이블 구조를 바꿉니다.
  • ② DROP: DROP 은 테이블 자체를 없애는 DDL 명령어입니다.
  • ④ INSERT: INSERT 는 새 행을 넣습니다.
예상문제검수 완료SQL 활용 › SQL 기본★★★★★

문제 4. [직원 테이블] 이름 | 부서 | 급여 김 | 영업 | 300 이 | 개발 | 400 박 | 영업 | 250 최 | 개발 | 350 위 테이블에 다음 SQL 을 실행한 결과는? SELECT 이름 FROM 직원 WHERE 부서 = '영업' AND 급여 >= 300;

  1. ① 김, 박
  2. ② 이, 최
  3. ③ 김
  4. ④ 김, 이, 최
▼ 정답과 해설 보기▲ 정답과 해설 접기

정답: ③ 김

핵심: AND 는 두 조건을 모두 만족하는 행만 고른다

  1. 부서 = '영업' → 김(300), 박(250)
  2. 그중 급여 >= 300 → 김
  3. 결과: 김

틀린 선지

  • ① 김, 박: AND 는 두 조건을 모두 만족해야 합니다. 박은 급여가 250 입니다.
  • ② 이, 최: 개발 부서는 조건에 맞지 않습니다.
  • ④ 김, 이, 최: OR 로 계산한 결과입니다.
예상문제검수 완료SQL 활용 › SQL 기본★★★★★

문제 5. [직원 테이블] 이름 | 부서 | 급여 김 | 영업 | 300 이 | 개발 | 400 박 | 영업 | 250 최 | 개발 | 350 위 테이블에 다음 SQL 을 실행했을 때 첫 번째 행에 나오는 이름은? SELECT 이름 FROM 직원 ORDER BY 급여 DESC;

  1. ① 이
  2. ② 박
  3. ③ 최
  4. ④ 김
▼ 정답과 해설 보기▲ 정답과 해설 접기

정답: ① 이

핵심: ORDER BY ... DESC 는 큰 값부터 정렬한다

DESC 는 내림차순(큰 것부터), ASC 는 오름차순(작은 것부터)입니다.

  1. 급여 큰 순서: 이(400) → 최(350) → 김(300) → 박(250)
  2. 첫 번째 행: 이

틀린 선지

  • ② 박: 오름차순(ASC)으로 정렬했을 때 첫 번째입니다. DESC 는 큰 값부터입니다.
  • ③ 최: 최는 350 으로 두 번째입니다.
  • ④ 김: 김은 300 으로 세 번째입니다.
예상문제검수 완료SQL 활용 › SQL 기본★★★★★

문제 6. [직원 테이블] 이름 | 부서 | 급여 김 | 영업 | 300 이 | 개발 | 400 박 | 영업 | 250 최 | 개발 | 350 위 테이블에 다음 SQL 을 차례로 실행한 결과는? UPDATE 직원 SET 급여 = 급여 + 50 WHERE 부서 = '개발'; SELECT SUM(급여) FROM 직원;

  1. ① 1300
  2. ② 1500
  3. ③ 1350
  4. ④ 1400
▼ 정답과 해설 보기▲ 정답과 해설 접기

정답: ④ 1400

핵심: UPDATE 는 WHERE 조건에 맞는 행만 고친다

  1. 처음 합계: 300 + 400 + 250 + 350 = 1300
  2. 개발 부서(이, 최) 2명에게 50 씩 더함: 이 450, 최 400
  3. 새 합계: 300 + 450 + 250 + 400 = 1400
  4. 확인: 1300 + 50 × 2 = 1400

틀린 선지

  • ① 1300: UPDATE 전의 합계입니다.
  • ② 1500: 모든 직원에게 50 을 더한 값입니다. WHERE 조건으로 개발 부서 2명만 바뀝니다.
  • ③ 1350: 개발 부서 중 1명에게만 더한 값입니다.
예상문제검수 완료SQL 활용 › SQL 기본★★★★★

문제 7. 학생 테이블에 '전화' 열을 새로 추가하는 SQL 문으로 알맞은 것은?

  1. ① UPDATE 학생 ADD 전화 VARCHAR(20);
  2. ② CREATE TABLE 학생 ADD 전화 VARCHAR(20);
  3. ③ ALTER TABLE 학생 ADD 전화 VARCHAR(20);
  4. ④ INSERT INTO 학생 ADD 전화 VARCHAR(20);
▼ 정답과 해설 보기▲ 정답과 해설 접기

정답: ③ ALTER TABLE 학생 ADD 전화 VARCHAR(20);

핵심: 테이블 구조(열) 변경은 ALTER TABLE

테이블의 구조를 바꾸는 것은 DDL 의 ALTER 입니다. 열을 추가할 때는 ALTER TABLE 테이블명 ADD 열이름 자료형; 으로 씁니다.

틀린 선지

  • ① UPDATE 학생 ADD 전화 VARCHAR(20);: UPDATE 는 데이터 값을 고치는 명령어로, 열을 추가할 수 없습니다.
  • ② CREATE TABLE 학생 ADD 전화 VARCHAR(20);: CREATE TABLE 은 새 테이블을 만드는 명령어입니다.
  • ④ INSERT INTO 학생 ADD 전화 VARCHAR(20);: INSERT 는 새 행을 넣는 명령어입니다.

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