1급 홈 › 주제별 문제 › 쿼리·SQL
17차시 연계 · 3과목 데이터베이스 일반
SELECT·DISTINCT·WHERE·ORDER BY·GROUP BY·HAVING, 집계·Access 함수, IN·BETWEEN·LIKE, 하위 질의, 조인, INSERT·UPDATE·DELETE, 크로스탭·매개 변수·실행 쿼리 범위 문제 45개를 모았습니다. 실전 모의고사 문제 40개를 먼저, 이어서 17차시 확인문제 5개를 보여 줍니다.
2급 기출로 기초 다지기
같은 범위의 2급 기출문제를 먼저 풀면 1급 문제가 쉬워집니다.
데이터베이스 일반 2020년 2회 (7월 4일)
Q1. 다음 중 주어진 [학생] 테이블을 참조하여 아래의 SQL 문을 실행한 결과로 옳은 것은?
[학생] 테이블
학번 전공 학년 나이 100 국사 4 21 150 회계 2 19 200 수학 3 30 250 국사 3 31 300 회계 4 25 350 수학 2 19 400 국사 1 23
SELECT AVG(나이) FROM 학생
WHERE 전공 NOT IN ('수학', '회계'); ① 25 ② 23 ③ 21 ④ 19
정답과 해설 보기
정답: ① 25
전공이 수학·회계가 아닌 레코드는 국사 3명(21, 31, 23)이므로 평균은 75÷3 = 25입니다.
출제: 2020년 2회 (7월 4일) 48번
데이터베이스 일반 2020년 2회 (7월 4일)
Q2. 아래와 같이 조회할 고객의 최소 나이를 입력받아 검색하는 매개 변수 쿼리를 작성하려고 한다. 다음 중 'Age' 필드의 조건식으로 옳은 것은?
① >={조회할 최소 나이 입력} ② >="조회할 최소 나이 입력" ③ >=[조회할 최소 나이 입력] ④ >=(조회할 최소 나이 입력)
정답과 해설 보기
정답: ③ >=[조회할 최소 나이 입력]
매개 변수 쿼리에서는 조건에 대괄호[ ]로 안내 문구를 쓰면 실행할 때 그 문구가 적힌 입력 창이 나타납니다.
출제: 2020년 2회 (7월 4일) 49번
데이터베이스 일반 2020년 2회 (7월 4일)
Q3. 다음 중 주어진 [Customer] 테이블을 참조하여 아래의 SQL문을 실행한 결과로 옳은 것은?
[Customer]
City Age Hobby 부산 30 축구 서울 26 영화감상 부산 45 낚시 서울 25 야구 대전 21 축구 서울 19 음악감상 광주 19 여행 서울 38 야구 인천 53 배구
SELECT Count(*)
FROM (SELECT Distinct City From Customer); ① 3 ② 5 ③ 7 ④ 9
정답과 해설 보기
정답: ② 5
안쪽 SELECT Distinct City는 중복을 뺀 도시 목록(부산, 서울, 대전, 광주, 인천)을 만들고, 바깥 Count(*)가 그 개수 5를 셉니다.
출제: 2020년 2회 (7월 4일) 51번
데이터베이스 일반 2020년 1회 (2월 29일)
Q4. 다음 중 SQL 질의에 대한 설명으로 옳지 않은 것은?
① ORDER BY절 사용 시 정렬방식을 별도로 지정하지 않으면 기본 값은 'DESC'로 적용된다. ② GROUP BY절은 특정 필드를 기준으로 그룹화 하여 검색할 때 사용한다. ③ FROM절에는 테이블 또는 쿼리 이름을 지정하며, WHERE절에는 조건을 지정한다. ④ SELECT DISTINCT문을 사용하면 중복 레코드를 제거할 수 있다.
정답과 해설 보기
정답: ① ORDER BY절 사용 시 정렬방식을 별도로 지정하지 않으면 기본 값은 'DESC'로 적용된다.
ORDER BY에서 정렬 방식을 생략하면 오름차순(ASC)이 기본입니다. 내림차순은 DESC를 직접 써야 합니다.
출제: 2020년 1회 (2월 29일) 43번
데이터베이스 일반 2020년 1회 (2월 29일)
Q5. 다음 중 아래 <학생> 테이블에 대한 SQL문의 실행 결과로 옳은 것은?
<학생>
학번 전공 학년 나이 1002 영문 SO 19 1004 통계 SN 23 1005 영문 SN 21 1008 수학 JR 20 1009 영문 FR 18 1010 통계 SN 25
SELECT AVG([나이]) FROM 학생
WHERE 학년="SN" GROUP BY 전공
HAVING COUNT(*) >= 2; ① 21 ② 22 ③ 23 ④ 24
정답과 해설 보기
정답: ④ 24
학년이 SN인 레코드는 통계 23, 영문 21, 통계 25입니다. 전공별로 묶으면 통계 2명, 영문 1명이고, HAVING COUNT(*) >= 2를 만족하는 것은 통계뿐이므로 평균은 (23+25)/2 = 24입니다.
출제: 2020년 1회 (2월 29일) 48번
데이터베이스 일반 2020년 1회 (2월 29일)
Q6. 다음 중 선택 쿼리에서 사용자가 지정한 패턴과 일치하는 데이터를 찾고자 할 때 사용되는 연산자는?
① Match ② Some ③ Like ④ Any
정답과 해설 보기
정답: ③ Like
Like 연산자는 *, ?, # 같은 와일드카드로 패턴을 지정해 일치하는 데이터를 찾습니다. 예: Like "김*"는 김으로 시작하는 값.
출제: 2020년 1회 (2월 29일) 49번
데이터베이스 일반 상시 경향 모의고사 1회
Q7. [학생] 테이블에서 다음 SQL문을 실행한 결과로 표시되는 값은?
[학생]
이름 학과 점수 김가람 경영 85 이나래 컴퓨터 92 박다솜 경영 78 최라온 영어 88 정마루 컴퓨터 70
SELECT COUNT(*) FROM 학생
WHERE 점수 BETWEEN 78 AND 88 AND 학과 <> "영어"; ① 1 ② 2 ③ 3 ④ 4
정답과 해설 보기
정답: ② 2
점수가 78 이상 88 이하이면서 학과가 '영어'가 아닌 레코드는 김가람(85)과 박다솜(78) 두 개입니다. BETWEEN은 양 끝값을 포함하며, 최라온(88)은 영어과라 제외됩니다.
출제: 상시 경향 모의고사 1회 43번
데이터베이스 일반 상시 경향 모의고사 1회
Q8. [고객] 테이블에 (C1, 한별), (C2, 은솔), (C3, 도윤) 세 레코드가 있고 [주문] 테이블은 다음과 같다. 다음 SQL문을 실행했을 때 결과로 표시되는 레코드 수는?
[주문]
주문번호 고객ID 금액 1 C1 5000 2 C3 3000 3 C1 2000 4 C4 7000
SELECT 고객.이름, 주문.금액
FROM 고객 LEFT JOIN 주문 ON 고객.고객ID = 주문.고객ID; ① 2 ② 3 ③ 5 ④ 4
정답과 해설 보기
정답: ④ 4
LEFT JOIN은 왼쪽(고객)의 모든 레코드를 표시합니다. C1은 주문 2건, C2는 주문이 없어 금액이 Null인 1건, C3은 1건이므로 4개이며, 고객에 없는 C4 주문은 표시되지 않습니다.
출제: 상시 경향 모의고사 1회 52번
데이터베이스 일반 상시 경향 모의고사 1회
Q9. Access 쿼리에서 Mid("Database", InStr("Database", "b"), 3) 의 결과는?
① aba ② ata ③ base ④ bas
정답과 해설 보기
정답: ④ bas
InStr은 "b"가 처음 나타나는 위치 5를 반환하고, Mid는 5번째 글자부터 3글자를 추출하므로 "bas"입니다.
출제: 상시 경향 모의고사 1회 56번
데이터베이스 일반 상시 경향 모의고사 1회
Q10. Access 쿼리에 대한 설명으로 옳지 않은 것은?
① 크로스탭 쿼리에서 행 머리글은 최대 3개, 열 머리글은 1개까지 지정할 수 있다. ② 중복 데이터 검색 쿼리 마법사로 만든 쿼리를 실행하면 중복된 레코드가 자동으로 삭제된다. ③ 매개 변수 쿼리는 실행할 때 대괄호([ ]) 안에 입력한 메시지를 대화 상자로 표시한다. ④ 불일치 검색 쿼리는 한 테이블의 레코드 중 다른 테이블에 관련 레코드가 없는 것을 찾는다.
정답과 해설 보기
정답: ② 중복 데이터 검색 쿼리 마법사로 만든 쿼리를 실행하면 중복된 레코드가 자동으로 삭제된다.
중복 데이터 검색 쿼리는 필드 값이 중복된 레코드를 찾아 보여 주는 선택 쿼리일 뿐 레코드를 삭제하지 않습니다.
출제: 상시 경향 모의고사 1회 60번
데이터베이스 일반 상시 경향 모의고사 2회
Q11. <사원> 테이블에 다음 SQL문을 실행했을 때의 결과로 옳은 것은?
<사원>
이름 부서 급여 김민준 영업 300 이서연 기획 450 박서준 영업 380 최지우 인사 420 정하은 기획 350
SELECT 이름 FROM 사원
WHERE 부서 IN ('영업', '기획') AND 급여 BETWEEN 350 AND 420
ORDER BY 급여 DESC; ① 2개의 레코드가 검색되며, 첫 번째 레코드의 이름은 박서준이다. ② 3개의 레코드가 검색되며, 첫 번째 레코드의 이름은 이서연이다. ③ 2개의 레코드가 검색되며, 첫 번째 레코드의 이름은 정하은이다. ④ 3개의 레코드가 검색되며, 첫 번째 레코드의 이름은 박서준이다.
정답과 해설 보기
정답: ① 2개의 레코드가 검색되며, 첫 번째 레코드의 이름은 박서준이다.
부서가 영업·기획이면서 급여가 350 이상 420 이하인 사원은 박서준(380)과 정하은(350)입니다. 급여 내림차순이므로 박서준이 먼저 표시됩니다. 이서연(450)은 BETWEEN 범위를 벗어납니다.
출제: 상시 경향 모의고사 2회 43번
데이터베이스 일반 상시 경향 모의고사 2회
Q12. Access에서 다음 식의 결과로 옳지 않은 것은?
① DateDiff("d", #2026-03-01#, #2026-03-10#) → 10 ② Left("Database", 4) → Data ③ InStr("Access", "c") → 2 ④ DateAdd("m", 2, #2026-01-31#) → 2026-03-31
정답과 해설 보기
정답: ① DateDiff("d", #2026-03-01#, #2026-03-10#) → 10
DateDiff는 두 날짜의 차이를 구하므로 3월 1일과 3월 10일의 일수 차이는 9입니다. DateAdd("m", 2, …)는 2개월 뒤 날짜를 구하므로 3월 31일이 맞습니다.
출제: 상시 경향 모의고사 2회 56번
데이터베이스 일반 상시 경향 모의고사 2회
Q13. <판매> 테이블에 다음 SQL문을 실행했을 때의 결과로 옳은 것은?
<판매>
지점 금액 서울 100 부산 200 서울 300 대구 150 부산 250 서울 80
SELECT 지점, COUNT(*) AS 건수, SUM(금액) AS 합계
FROM 판매
GROUP BY 지점
HAVING SUM(금액) >= 400; ① 2개의 레코드가 표시되며, 서울의 건수는 3이다. ② 3개의 레코드가 표시되며, 대구의 합계는 150이다. ③ 2개의 레코드가 표시되며, 부산의 합계는 200이다. ④ 1개의 레코드가 표시되며, 서울의 합계는 480이다.
정답과 해설 보기
정답: ① 2개의 레코드가 표시되며, 서울의 건수는 3이다.
지점별 합계는 서울 480(3건), 부산 450(2건), 대구 150(1건)입니다. HAVING 조건(합계 400 이상)을 만족하는 서울과 부산 2개 레코드가 표시됩니다.
출제: 상시 경향 모의고사 2회 59번
데이터베이스 일반 상시 경향 모의고사 2회
Q14. Access의 크로스탭 쿼리에 대한 설명으로 옳지 않은 것은?
① 행 머리글로는 둘 이상의 필드를 지정할 수 있다. ② 열 머리글로 여러 필드를 지정하여 다단계 열 머리글을 만들 수 있다. ③ 값으로는 하나의 필드를 지정하고 합계, 평균, 개수 등의 집계 함수를 적용한다. ④ 크로스탭 쿼리 마법사나 쿼리 디자인 보기에서 만들 수 있다.
정답과 해설 보기
정답: ② 열 머리글로 여러 필드를 지정하여 다단계 열 머리글을 만들 수 있다.
크로스탭 쿼리에서 열 머리글과 값은 각각 하나의 필드만 지정할 수 있습니다. 여러 필드를 지정할 수 있는 것은 행 머리글입니다.
출제: 상시 경향 모의고사 2회 60번
데이터베이스 일반 상시 경향 모의고사 3회
Q15. 다음 <학생> 테이블에 아래 SQL문을 실행했을 때 표시되는 이름을 순서대로 나열한 것은?
<학생>
학번 이름 학과 점수 1 김가 컴공 85 2 이나 경영 92 3 박다 컴공 78 4 최라 전자 92 5 정마 경영 70
SELECT 이름 FROM 학생
WHERE 학과 IN ('컴공', '경영') AND 점수 BETWEEN 75 AND 90
ORDER BY 점수 DESC; ① 김가, 박다 ② 박다, 김가 ③ 김가, 이나, 박다 ④ 김가, 박다, 정마
정답과 해설 보기
정답: ① 김가, 박다
학과가 컴공·경영이면서 점수가 75~90(양 끝 포함)인 학생은 김가(85)와 박다(78)이며, 점수 내림차순이므로 김가, 박다 순입니다. 이나(92)는 범위를 벗어나고 정마(70)도 제외됩니다.
출제: 상시 경향 모의고사 3회 43번
데이터베이스 일반 상시 경향 모의고사 3회
Q16. <부서> 테이블에 (D1, 영업), (D2, 기획), (D3, 인사) 세 레코드가 있고, <사원> 테이블은 아래와 같다. 다음 SQL문을 실행했을 때 결과 레코드의 개수는?
<사원>
사번 이름 부서코드 101 강 D1 102 윤 D2 103 한 D1 104 오 D4
SELECT 부서.부서명, 사원.이름
FROM 부서 LEFT JOIN 사원 ON 부서.부서코드 = 사원.부서코드; ① 3 ② 4 ③ 5 ④ 12
정답과 해설 보기
정답: ② 4
LEFT JOIN은 왼쪽 <부서>의 모든 레코드를 포함합니다. 영업-강, 영업-한, 기획-윤에 사원이 없는 인사(이름 Null) 1건이 더해져 4개입니다. ①의 3은 INNER JOIN, ④의 12는 조건 없는 교차 조인의 결과입니다.
출제: 상시 경향 모의고사 3회 51번
데이터베이스 일반 상시 경향 모의고사 3회
Q17. 다음 <주문> 테이블에 아래 SQL문을 실행한 결과로 옳은 것은?
<주문>
고객 제품 수량 A P1 3 B P2 5 A P3 4 C P1 2 B P1 1 C P2 6 A P2 2
SELECT 고객, SUM(수량) AS 합계
FROM 주문
WHERE 수량 >= 2
GROUP BY 고객
HAVING COUNT(*) >= 2; ① A 9, C 8 ② A 9, B 5, C 8 ③ A 9, B 6, C 8 ④ A 9
정답과 해설 보기
정답: ① A 9, C 8
WHERE로 수량 1인 B의 레코드가 먼저 제외되어 B는 1건만 남으므로 HAVING COUNT(*)>=2를 만족하지 못합니다. A는 3건(3+4+2=9), C는 2건(2+6=8)이 표시됩니다. ③은 WHERE를 무시했을 때의 결과입니다.
출제: 상시 경향 모의고사 3회 59번
데이터베이스 일반 상시 경향 모의고사 4회
Q18. [사원] 테이블에 다음 SQL 문을 실행했을 때 결과로 표시되는 레코드의 개수는?
[사원] 테이블
사번 이름 부서 급여 1 김민수 영업 350 2 이지은 기획 420 3 김태호 영업 400 4 박소연 인사 300 5 김가람 기획 280
SELECT 이름 FROM 사원
WHERE 이름 LIKE "김*" AND 급여 BETWEEN 300 AND 400; ① 1개 ② 2개 ③ 3개 ④ 4개
정답과 해설 보기
정답: ② 2개
'김'으로 시작하는 이름은 김민수(350), 김태호(400), 김가람(280)입니다. BETWEEN은 양 끝 값을 포함하므로 300~400에 해당하는 김민수, 김태호 2개가 표시됩니다.
출제: 상시 경향 모의고사 4회 42번
데이터베이스 일반 상시 경향 모의고사 4회
Q19. 다음 중 Access의 SELECT 문에 관한 설명으로 옳지 않은 것은?
① ORDER BY 절에서 ASC나 DESC를 생략하면 오름차순으로 정렬된다. ② SELECT DISTINCT 부서 FROM 사원;은 부서 값을 중복 없이 한 번씩만 표시한다. ③ WHERE 부서 IN ('영업', '기획')은 WHERE 부서='영업' OR 부서='기획'과 같은 결과를 반환한다. ④ WHERE 이름 LIKE '김?'는 '김'으로 시작하는 이름이면 글자 수와 관계없이 모두 검색한다.
정답과 해설 보기
정답: ④ WHERE 이름 LIKE '김?'는 '김'으로 시작하는 이름이면 글자 수와 관계없이 모두 검색한다.
Access의 와일드카드 ?는 한 글자를 의미하므로 '김?'는 '김'으로 시작하는 두 글자 이름만 검색합니다. 글자 수와 관계없이 검색하려면 '김*'를 사용합니다.
출제: 상시 경향 모의고사 4회 43번
데이터베이스 일반 상시 경향 모의고사 4회
Q20. [부서] 테이블에는 (D1, 영업부, 서울), (D2, 기획부, 부산), (D3, 인사부, 서울)의 세 레코드가 (부서코드, 부서명, 위치) 순으로 저장되어 있다. 아래 [사원] 테이블에 다음 SQL 문을 실행했을 때 결과에 포함되지 않는 이름은?
[사원] 테이블
사번 이름 부서코드 101 정우진 D1 102 한지민 D2 103 오세훈 D3 104 윤채원 D2 105 강민재 D1
SELECT 이름 FROM 사원
WHERE 부서코드 IN (SELECT 부서코드 FROM 부서 WHERE 위치 = '서울'); ① 정우진 ② 한지민 ③ 오세훈 ④ 강민재
정답과 해설 보기
정답: ② 한지민
하위 쿼리는 위치가 '서울'인 부서코드 D1, D3을 반환합니다. 따라서 D1·D3에 속한 정우진, 오세훈, 강민재가 표시되고, D2(부산)에 속한 한지민은 제외됩니다.
출제: 상시 경향 모의고사 4회 51번
데이터베이스 일반 상시 경향 모의고사 4회
Q21. [사원] 테이블에 다음 SQL 문을 실행한 후 '김태호'의 급여 값은?
[사원] 테이블
사번 이름 부서 급여 1 김민수 영업 350 2 이지은 기획 420 3 김태호 영업 400 4 박소연 인사 300 5 김가람 기획 280
UPDATE 사원 SET 급여 = 급여 * 1.1
WHERE 부서 = '영업' AND 급여 < 400; ① 440 ② 400 ③ 385 ④ 360
정답과 해설 보기
정답: ② 400
조건은 부서가 '영업'이면서 급여가 400 미만인 레코드입니다. 김태호는 급여가 400이라 '400 < 400'이 거짓이므로 수정되지 않고 400 그대로입니다. 385는 김민수(350)가 수정된 값입니다.
출제: 상시 경향 모의고사 4회 59번
데이터베이스 일반 상시 경향 모의고사 5회
Q22. 다음 <사원> 테이블에 아래 SQL문을 실행했을 때, 결과의 첫 번째 이름과 전체 레코드 수로 옳은 것은?
SELECT 이름 FROM 사원 WHERE 급여 BETWEEN 280 AND 320 AND 부서 IN ('영업', '총무') ORDER BY 급여 DESC;
<사원>
사번 이름 부서 급여 101 김하늘 영업 320 102 이바다 총무 280 103 박구름 영업 250 104 최산 기획 300 105 정노을 총무 350
① 김하늘, 2개 ② 이바다, 2개 ③ 김하늘, 3개 ④ 최산, 3개
정답과 해설 보기
정답: ① 김하늘, 2개
급여가 280~320(양 끝 포함)이면서 부서가 영업·총무인 사원은 김하늘(320)과 이바다(280)뿐입니다. 급여 내림차순이므로 김하늘이 먼저 표시됩니다. 최산은 급여 조건은 맞지만 기획 부서라 제외됩니다.
출제: 상시 경향 모의고사 5회 42번
데이터베이스 일반 상시 경향 모의고사 5회
Q23. Access의 SELECT문에 대한 설명으로 옳지 않은 것은?
① ORDER BY 절에 정렬 방식을 생략하면 오름차순(ASC)으로 정렬된다. ② DISTINCT를 사용하면 검색 결과에서 중복된 행은 한 번만 표시된다. ③ WHERE 이름 Like "김?" 은 '김'으로 시작하는 두 글자 이름을 검색한다. ④ WHERE 나이 BETWEEN 20 AND 30 은 20과 30을 제외한 21~29를 검색한다.
정답과 해설 보기
정답: ④ WHERE 나이 BETWEEN 20 AND 30 은 20과 30을 제외한 21~29를 검색한다.
BETWEEN a AND b는 a 이상 b 이하로, 양 끝 값을 포함합니다. Access의 Like에서 ?는 임의의 한 글자를 뜻하므로 "김?"은 김으로 시작하는 두 글자입니다.
출제: 상시 경향 모의고사 5회 43번
데이터베이스 일반 상시 경향 모의고사 5회
Q24. <학생> 테이블은 아래와 같고, <수강> 테이블의 (학번, 과목) 레코드는 (1, 'DB'), (3, 'DB'), (3, 'OS'), (4, 'NW')이다. 다음 SQL문의 실행 결과로 옳은 것은?
SELECT 이름 FROM 학생
WHERE 학번 NOT IN (SELECT 학번 FROM 수강 WHERE 과목 = 'DB'); ① 김가, 박다 ② 이나, 정라 ③ 이나 ④ 정라, 박다
정답과 해설 보기
정답: ② 이나, 정라
하위 쿼리는 'DB'를 수강한 학번 1, 3을 돌려주고, NOT IN이므로 그 외의 학번 2(이나)와 4(정라)가 검색됩니다. 박다(3)는 OS도 수강했지만 DB를 수강했으므로 제외됩니다.
출제: 상시 경향 모의고사 5회 51번
데이터베이스 일반 상시 경향 모의고사 5회
Q25. Access에서 다음 식과 결과의 연결이 옳지 않은 것은?
① Left("Access2021", 6) → Access ② InStr("database", "a") → 1 ③ Mid("데이터베이스", 3, 2) → 터베 ④ Len("컴활 1급") → 5
정답과 해설 보기
정답: ② InStr("database", "a") → 1
InStr은 찾는 문자열이 처음 나타나는 위치를 돌려주므로 "database"에서 a는 2번째에 있어 2입니다. Len은 공백도 한 글자로 세므로 5입니다.
출제: 상시 경향 모의고사 5회 55번
데이터베이스 일반 상시 경향 모의고사 5회
Q26. 다음 SQL문에 대한 설명으로 옳은 것은?
SELECT 이름, 급여 INTO 고급여사원
FROM 사원
WHERE 급여 >= 400; ① 이미 있는 <고급여사원> 테이블에 조건에 맞는 레코드를 추가한다. ② <사원> 테이블에서 급여가 400 이상인 레코드로 새 테이블 <고급여사원>을 만든다. ③ <사원> 테이블에서 급여가 400 이상인 레코드를 삭제한다. ④ 급여가 400 이상인 레코드를 화면에 표시만 하고 테이블로 저장하지 않는다.
정답과 해설 보기
정답: ② <사원> 테이블에서 급여가 400 이상인 레코드로 새 테이블 <고급여사원>을 만든다.
SELECT ... INTO는 테이블 만들기 쿼리로, 검색 결과를 새 테이블로 저장합니다. 기존 테이블에 추가하는 것은 INSERT INTO ... SELECT(추가 쿼리)이며 원본 <사원> 테이블은 변하지 않습니다.
출제: 상시 경향 모의고사 5회 59번
데이터베이스 일반 실전 모의고사 1회
Q27. 다음 SQL문에 대한 설명으로 옳은 것은?
SELECT 부서, COUNT(*) FROM 사원
WHERE 직급 = "대리"
GROUP BY 부서 HAVING COUNT(*) >= 3;
① 대리가 3명 이상인 부서와 그 부서의 대리 수를 표시한다. ② 전체 직원이 3명 이상인 부서의 대리 수를 표시한다. ③ 대리를 제외한 직원이 3명 이상인 부서를 표시한다. ④ 모든 부서의 대리 수를 표시한다.
정답과 해설 보기
정답: ① 대리가 3명 이상인 부서와 그 부서의 대리 수를 표시한다.
WHERE로 대리만 고른 뒤 부서별로 묶고, HAVING으로 그 인원이 3명 이상인 그룹만 표시합니다.
출제: 실전 모의고사 1회 51번
데이터베이스 일반 실전 모의고사 1회
Q28. <회원> 테이블에서 '가입일' 필드의 값이 2026년 1월 1일부터 2026년 6월 30일 사이인 레코드를 검색하는 SQL의 WHERE 절로 옳은 것은?
① WHERE 가입일 BETWEEN #2026-01-01# AND #2026-06-30# ② WHERE 가입일 IN (#2026-01-01#, #2026-06-30#) ③ WHERE 가입일 LIKE "2026-0?" ④ WHERE 가입일 >= "2026-01-01" OR 가입일 <= "2026-06-30"
정답과 해설 보기
정답: ① WHERE 가입일 BETWEEN #2026-01-01# AND #2026-06-30#
범위는 BETWEEN으로 지정하며 날짜는 #으로 묶습니다. IN은 두 날짜만, ④는 OR이라 모든 레코드가 검색됩니다.
출제: 실전 모의고사 1회 52번
데이터베이스 일반 실전 모의고사 1회
Q29. 다음 중 <상품> 테이블의 '단가'를 모두 10% 인상하는 SQL문으로 옳은 것은?
① UPDATE 상품 SET 단가 = 단가 * 1.1; ② UPDATE 상품 단가 = 단가 * 1.1; ③ ALTER 상품 SET 단가 = 단가 * 1.1; ④ INSERT INTO 상품 SET 단가 = 단가 * 1.1;
정답과 해설 보기
정답: ① UPDATE 상품 SET 단가 = 단가 * 1.1;
UPDATE 테이블 SET 필드=값 [WHERE 조건]; 형식이며 WHERE가 없으면 모든 레코드가 수정됩니다.
출제: 실전 모의고사 1회 53번
데이터베이스 일반 실전 모의고사 1회
Q30. 쿼리를 실행할 때 사용자에게 값을 입력받는 대화상자가 나타나도록 하려면 조건 행에 어떻게 입력해야 하는가?
① [조회할 학과를 입력] ② {조회할 학과를 입력} ③ (조회할 학과를 입력) ④ "조회할 학과를 입력"
정답과 해설 보기
정답: ① [조회할 학과를 입력]
매개 변수 쿼리는 조건 행에 대괄호([ ])로 묶은 안내문을 입력합니다.
출제: 실전 모의고사 1회 54번
데이터베이스 일반 실전 모의고사 2회
Q31. <제품> 테이블에서 '제품명'이 '노트'로 끝나는 레코드를 검색하는 조건으로 옳은 것은?
① WHERE 제품명 LIKE "노트*" ② WHERE 제품명 LIKE "*노트" ③ WHERE 제품명 = "*노트" ④ WHERE 제품명 IN ("*노트")
정답과 해설 보기
정답: ② WHERE 제품명 LIKE "*노트"
'노트'로 끝나려면 앞에 *를 붙여 LIKE "*노트"로 지정합니다. LIKE를 써야 대표 문자가 동작합니다.
출제: 실전 모의고사 2회 50번
데이터베이스 일반 실전 모의고사 2회
Q32. 다음 SQL문의 실행 결과에 대한 설명으로 옳은 것은?
SELECT DISTINCT 학과 FROM 학생 ORDER BY 학과 DESC;
① 모든 학생의 학과를 중복 포함하여 오름차순으로 표시한다. ② 학과를 중복 없이 한 번씩 내림차순으로 표시한다. ③ 학과별 학생 수를 내림차순으로 표시한다. ④ 학과가 중복된 학생만 표시한다.
정답과 해설 보기
정답: ② 학과를 중복 없이 한 번씩 내림차순으로 표시한다.
DISTINCT는 중복을 한 번만 표시하고 DESC는 내림차순 정렬입니다.
출제: 실전 모의고사 2회 51번
데이터베이스 일반 실전 모의고사 2회
Q33. 다음 중 하위 질의를 사용하여 '평균 급여보다 많이 받는 사원'의 이름을 검색하는 SQL문으로 옳은 것은?
① SELECT 이름 FROM 사원 WHERE 급여 > AVG(급여); ② SELECT 이름 FROM 사원 WHERE 급여 > (SELECT AVG(급여) FROM 사원); ③ SELECT 이름 FROM 사원 HAVING 급여 > AVG(급여); ④ SELECT 이름, AVG(급여) FROM 사원 WHERE 급여 > 평균;
정답과 해설 보기
정답: ② SELECT 이름 FROM 사원 WHERE 급여 > (SELECT AVG(급여) FROM 사원);
WHERE 절에는 집계 함수를 직접 쓸 수 없으므로 하위 질의로 평균을 구해 비교합니다.
출제: 실전 모의고사 2회 52번
데이터베이스 일반 실전 모의고사 2회
Q34. <주문> 테이블과 <고객> 테이블을 조인할 때, 주문이 없는 고객까지 포함하여 모든 고객을 표시하려고 한다. 빈칸에 알맞은 것은?
SELECT 고객.고객명, 주문.주문번호
FROM 고객 ( ㉠ ) 주문 ON 고객.고객ID = 주문.고객ID;
① INNER JOIN ② LEFT JOIN ③ RIGHT JOIN ④ UNION
정답과 해설 보기
정답: ② LEFT JOIN
왼쪽 테이블(고객)의 모든 레코드를 포함하려면 LEFT JOIN을 사용합니다.
출제: 실전 모의고사 2회 53번
데이터베이스 일반 실전 모의고사 2회
Q35. 다음 중 실행 쿼리에 해당하지 않는 것은?
① 테이블 만들기 쿼리 ② 추가 쿼리 ③ 크로스탭 쿼리 ④ 삭제 쿼리
정답과 해설 보기
정답: ③ 크로스탭 쿼리
실행 쿼리는 테이블 만들기, 추가, 업데이트, 삭제 쿼리입니다. 크로스탭은 집계 결과를 보여 주는 선택 계열 쿼리입니다.
출제: 실전 모의고사 2회 54번
데이터베이스 일반 실전 모의고사 3회
Q36. 다음 SQL문에 대한 설명으로 옳지 않은 것은?
SELECT 학과, AVG(점수) AS 평균 FROM 성적
GROUP BY 학과
ORDER BY 평균 DESC;
① 학과별로 그룹을 묶는다. ② 각 학과의 점수 평균을 '평균'이라는 이름으로 표시한다. ③ 평균이 높은 학과부터 표시한다. ④ 점수가 Null인 레코드도 0으로 계산하여 평균에 포함한다.
정답과 해설 보기
정답: ④ 점수가 Null인 레코드도 0으로 계산하여 평균에 포함한다.
AVG 함수는 Null이 아닌 값만 대상으로 평균을 구합니다.
출제: 실전 모의고사 3회 49번
데이터베이스 일반 실전 모의고사 3회
Q37. 다음 SQL문의 실행 결과로 <회원> 테이블에 일어나는 일은?
DELETE FROM 회원;
① 회원 테이블 자체가 삭제된다. ② 회원 테이블의 모든 레코드가 삭제되고 테이블 구조는 남는다. ③ 첫 번째 레코드만 삭제된다. ④ 오류가 발생하여 아무것도 삭제되지 않는다.
정답과 해설 보기
정답: ② 회원 테이블의 모든 레코드가 삭제되고 테이블 구조는 남는다.
WHERE 절이 없는 DELETE는 모든 레코드를 삭제하지만 테이블 구조는 남습니다. 테이블 자체를 지우는 것은 DROP TABLE입니다.
출제: 실전 모의고사 3회 50번
데이터베이스 일반 실전 모의고사 3회
Q38. <학생> 테이블에서 학과가 '경영' 또는 '회계'인 학생을 검색하는 조건으로 옳지 않은 것은?
① WHERE 학과 IN ("경영", "회계") ② WHERE 학과 = "경영" OR 학과 = "회계" ③ WHERE 학과 = "경영" AND 학과 = "회계" ④ WHERE 학과 LIKE "경영" OR 학과 LIKE "회계"
정답과 해설 보기
정답: ③ WHERE 학과 = "경영" AND 학과 = "회계"
한 레코드의 학과가 동시에 두 값일 수 없으므로 AND 조건은 결과가 없습니다.
출제: 실전 모의고사 3회 51번
데이터베이스 일반 실전 모의고사 3회
Q39. <수강> 테이블에 레코드를 추가하는 SQL문으로 옳은 것은?
① INSERT INTO 수강 (학번, 과목) VALUES ("26001", "DB"); ② INSERT 수강 SET 학번="26001", 과목="DB"; ③ UPDATE INTO 수강 VALUES ("26001", "DB"); ④ ADD INTO 수강 (학번, 과목) VALUES ("26001", "DB");
정답과 해설 보기
정답: ① INSERT INTO 수강 (학번, 과목) VALUES ("26001", "DB");
레코드 추가는 INSERT INTO 테이블(필드) VALUES(값); 형식입니다.
출제: 실전 모의고사 3회 52번
데이터베이스 일반 실전 모의고사 3회
Q40. 두 테이블의 레코드를 비교하여 한쪽 테이블에만 있는 레코드(예: 주문이 한 번도 없는 고객)를 찾는 쿼리 마법사는?
① 중복 데이터 검색 쿼리 마법사 ② 불일치 검색 쿼리 마법사 ③ 크로스탭 쿼리 마법사 ④ 단순 쿼리 마법사
정답과 해설 보기
정답: ② 불일치 검색 쿼리 마법사
불일치 검색 쿼리는 다른 테이블에 관련 레코드가 없는 레코드를 찾습니다.
출제: 실전 모의고사 3회 53번
데이터베이스 일반 차시 확인문제
Q41. <성적> 테이블에서 학과별 평균 점수가 80점 이상인 학과만 조회하려 할 때 빈칸에 들어갈 내용으로 옳은 것은?SELECT 학과, AVG(점수) FROM 성적
GROUP BY 학과 ( ㉠ );
① WHERE AVG(점수) >= 80 ② HAVING AVG(점수) >= 80 ③ ORDER BY AVG(점수) >= 80 ④ WHERE 점수 >= 80
정답과 해설 보기
정답: ② HAVING AVG(점수) >= 80
그룹에 대한 조건은 GROUP BY 뒤의 HAVING 절에 씁니다. WHERE 절에는 집계 함수를 쓸 수 없고, ④는 개별 점수 조건이라 의미가 다릅니다.
출처: 17차시 확인문제 1번
데이터베이스 일반 차시 확인문제
Q42. 다음 SQL문의 결과에 대한 설명으로 옳은 것은?SELECT 학생.이름, 학과.학과명
FROM 학생 LEFT JOIN 학과
ON 학생.학과코드 = 학과.학과코드;
① 학과코드가 일치하는 학생만 표시된다. ② 모든 학과가 표시되고 학생이 없는 학과는 이름이 비어 있다. ③ 모든 학생이 표시되고 학과가 일치하지 않는 학생은 학과명이 비어 있다. ④ 두 테이블의 모든 레코드 조합이 표시된다.
정답과 해설 보기
정답: ③ 모든 학생이 표시되고 학과가 일치하지 않는 학생은 학과명이 비어 있다.
LEFT JOIN은 왼쪽 테이블(학생)의 레코드를 모두 표시하고, 오른쪽(학과)은 일치하는 것만 가져오므로 일치하지 않으면 학과명이 Null로 표시됩니다.
출처: 17차시 확인문제 2번
데이터베이스 일반 차시 확인문제
Q43. WHERE 이름 LIKE "김??" 조건으로 검색되는 이름은?
① 김하늘별 ② 김하늘 ③ 김 ④ 이김수
정답과 해설 보기
정답: ② 김하늘
?는 한 글자를 대신하므로 '김'으로 시작하는 정확히 세 글자 이름이 검색됩니다.
출처: 17차시 확인문제 3번
데이터베이스 일반 차시 확인문제
Q44. 크로스탭 쿼리에 대한 설명으로 옳지 않은 것은?
① 필드의 합계, 개수, 평균 등을 행과 열 형태로 요약한다. ② 엑셀의 피벗 테이블과 비슷한 형태이다. ③ 행 머리글로 사용할 필드는 여러 개 지정할 수 있다. ④ 열 머리글로 사용할 필드도 여러 개 지정할 수 있다.
정답과 해설 보기
정답: ④ 열 머리글로 사용할 필드도 여러 개 지정할 수 있다.
크로스탭 쿼리에서 열 머리글로 사용할 필드는 하나만 지정할 수 있습니다.
출처: 17차시 확인문제 4번
데이터베이스 일반 차시 확인문제
Q45. <학생> 테이블에서 학년이 4인 학생을 모두 삭제하는 SQL문으로 옳은 것은?
① DROP FROM 학생 WHERE 학년 = 4; ② DELETE FROM 학생 WHERE 학년 = 4; ③ DELETE 학생 SET 학년 = 4; ④ UPDATE 학생 DELETE 학년 = 4;
정답과 해설 보기
정답: ② DELETE FROM 학생 WHERE 학년 = 4;
레코드 삭제는 DELETE FROM 테이블 WHERE 조건; 형식입니다. DROP은 테이블 구조 자체를 삭제하는 DDL입니다.
출처: 17차시 확인문제 5번
상호: 아이티애프터스쿨 · 운영책임자: 김문주 · 사업자등록번호: 695-94-01989
제휴 및 문의: itafterschool.kr@gmail.com
사이트 소개
2급 vs 1급 비교
이용약관
개인정보처리방침
권리침해 신고
© 2024–2026 아이티애프터스쿨(ITAFTERSCHOOL). All rights reserved. 컴퓨터활용능력 무료 학습 사이트.
1급 강의와 모의고사는 KCCI 출제기준(2024~2026, MS Office 2021)에 맞춰 자체 제작했습니다. 컴활 PASS는 대한상공회의소와 관련 없는 독립 학습 사이트입니다.