프로그래밍기능사 필기 · 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 명령어는?
- ① UPDATE
- ② SELECT
- ③ CREATE
- ④ GRANT
▼ 정답과 해설 보기▲ 정답과 해설 접기
정답: ③ CREATE
핵심: DDL: CREATE·ALTER·DROP
SQL 명령어는 세 가지로 나뉩니다.
- DDL(정의): CREATE, ALTER, DROP
- DML(조작): SELECT, INSERT, UPDATE, DELETE
- DCL(제어): GRANT, REVOKE 등
틀린 선지
- ① UPDATE: UPDATE 는 데이터를 고치는 DML(데이터 조작어)입니다.
- ② SELECT: SELECT 는 데이터를 조회하는 DML 입니다.
- ④ GRANT: GRANT 는 권한을 주는 DCL(데이터 제어어)입니다.
예상문제검수 완료SQL 활용 › SQL 기본★★★★★
문제 2. 사용자에게 주었던 권한을 회수하는 SQL 명령어는?
- ① DELETE
- ② GRANT
- ③ ROLLBACK
- ④ REVOKE
▼ 정답과 해설 보기▲ 정답과 해설 접기
정답: ④ REVOKE
핵심: GRANT 는 권한 주기, REVOKE 는 권한 회수
권한을 다루는 명령어는 DCL 입니다. GRANT 로 권한을 주고 REVOKE 로 권한을 거두어들입니다.
틀린 선지
- ① DELETE: DELETE 는 테이블의 행을 지웁니다.
- ② GRANT: GRANT 는 반대로 권한을 주는 명령어입니다.
- ③ ROLLBACK: ROLLBACK 은 트랜잭션 작업을 취소해 되돌립니다.
예상문제검수 완료SQL 활용 › SQL 기본★★★★★
문제 3. 테이블은 그대로 두고, 조건에 맞는 행만 지우는 SQL 명령어는?
- ① ALTER
- ② DROP
- ③ DELETE
- ④ 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;
- ① 김, 박
- ② 이, 최
- ③ 김
- ④ 김, 이, 최
▼ 정답과 해설 보기▲ 정답과 해설 접기
정답: ③ 김
핵심: AND 는 두 조건을 모두 만족하는 행만 고른다
- 부서 = '영업' → 김(300), 박(250)
- 그중 급여 >= 300 → 김
- 결과: 김
틀린 선지
- ① 김, 박: AND 는 두 조건을 모두 만족해야 합니다. 박은 급여가 250 입니다.
- ② 이, 최: 개발 부서는 조건에 맞지 않습니다.
- ④ 김, 이, 최: OR 로 계산한 결과입니다.
예상문제검수 완료SQL 활용 › SQL 기본★★★★★
문제 5. [직원 테이블] 이름 | 부서 | 급여 김 | 영업 | 300 이 | 개발 | 400 박 | 영업 | 250 최 | 개발 | 350 위 테이블에 다음 SQL 을 실행했을 때 첫 번째 행에 나오는 이름은? SELECT 이름 FROM 직원 ORDER BY 급여 DESC;
- ① 이
- ② 박
- ③ 최
- ④ 김
▼ 정답과 해설 보기▲ 정답과 해설 접기
정답: ① 이
핵심: ORDER BY ... DESC 는 큰 값부터 정렬한다
DESC 는 내림차순(큰 것부터), ASC 는 오름차순(작은 것부터)입니다.
- 급여 큰 순서: 이(400) → 최(350) → 김(300) → 박(250)
- 첫 번째 행: 이
틀린 선지
- ② 박: 오름차순(ASC)으로 정렬했을 때 첫 번째입니다. DESC 는 큰 값부터입니다.
- ③ 최: 최는 350 으로 두 번째입니다.
- ④ 김: 김은 300 으로 세 번째입니다.
예상문제검수 완료SQL 활용 › SQL 기본★★★★★
문제 6. [직원 테이블] 이름 | 부서 | 급여 김 | 영업 | 300 이 | 개발 | 400 박 | 영업 | 250 최 | 개발 | 350 위 테이블에 다음 SQL 을 차례로 실행한 결과는? UPDATE 직원 SET 급여 = 급여 + 50 WHERE 부서 = '개발'; SELECT SUM(급여) FROM 직원;
- ① 1300
- ② 1500
- ③ 1350
- ④ 1400
▼ 정답과 해설 보기▲ 정답과 해설 접기
정답: ④ 1400
핵심: UPDATE 는 WHERE 조건에 맞는 행만 고친다
- 처음 합계: 300 + 400 + 250 + 350 = 1300
- 개발 부서(이, 최) 2명에게 50 씩 더함: 이 450, 최 400
- 새 합계: 300 + 450 + 250 + 400 = 1400
- 확인: 1300 + 50 × 2 = 1400
틀린 선지
- ① 1300: UPDATE 전의 합계입니다.
- ② 1500: 모든 직원에게 50 을 더한 값입니다. WHERE 조건으로 개발 부서 2명만 바뀝니다.
- ③ 1350: 개발 부서 중 1명에게만 더한 값입니다.
예상문제검수 완료SQL 활용 › SQL 기본★★★★★
문제 7. 학생 테이블에 '전화' 열을 새로 추가하는 SQL 문으로 알맞은 것은?
- ① UPDATE 학생 ADD 전화 VARCHAR(20);
- ② CREATE TABLE 학생 ADD 전화 VARCHAR(20);
- ③ ALTER TABLE 학생 ADD 전화 VARCHAR(20);
- ④ 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 는 새 행을 넣는 명령어입니다.
직접 풀어서 확인해 보세요.