결론 먼저
컴활 1급 실기에서 탈락의 가장 큰 원인이 액세스예요. 엑셀은 일상에서 써봤지만 액세스는 한 번도 안 써본 사람이 대부분이라 쿼리에서 막힙니다. 핵심은 SELECT/WHERE/GROUP BY/JOIN 기본 SQL + 디자인 보기 활용. 두 가지를 전환할 수 있으면 쿼리 문제 대부분을 풀 수 있어요.
왜 액세스가 발목을 잡는가
컴활 1급 실기 배점:
| 영역 | 배점 | 비고 |
|---|---|---|
| 엑셀 | 60점 | 일상에서 친숙 |
| 액세스 | 40점 | 처음 써보는 사람 많음 |
엑셀에서 50점을 확보해도 액세스에서 20점 이상 가져와야 합격선(70점) 도달. 그런데 액세스 응답을 만드는 방식이 익숙하지 않아 포기하는 경우가 많아요.
액세스 영역에서 쿼리가 가장 비중 크고, 쿼리만 잘 풀어도 합격권에 들어갑니다.
액세스 실기 출제 유형
| 유형 | 배점 비중 | 난이도 |
|---|---|---|
| 쿼리 작성 | 가장 높음 | 중상 |
| 테이블 생성/수정 | 낮음 | 하 |
| 폼 편집 | 중간 | 중 |
| 보고서 생성 | 중간 | 중 |
쿼리 문제가 핵심이라 여기에 집중 투자하는 게 효율적.
기본 쿼리 문법
SELECT — 조회
SELECT 필드1, 필드2 FROM 테이블명;
SELECT * FROM 학생; -- 전체 필드
SELECT DISTINCT 학과 FROM 학생; -- 중복 제거
WHERE — 조건
SELECT * FROM 학생 WHERE 학년 = 3;
SELECT * FROM 성적 WHERE 점수 >= 60;
SELECT * FROM 학생 WHERE 이름 LIKE "김*"; -- 김씨로 시작 (액세스는 *, SQL표준은 %)
SELECT * FROM 주문 WHERE 날짜 Between #2026-01-01# AND #2026-12-31#;
액세스에서는 와일드카드로 * 사용. 일반 SQL의 %와 달라요. 또 날짜는 #로 감쌉니다.
ORDER BY — 정렬
SELECT * FROM 학생 ORDER BY 점수 DESC;
SELECT * FROM 학생 ORDER BY 학년 ASC, 점수 DESC;
GROUP BY / HAVING — 그룹화
SELECT 학과, COUNT(*) AS 인원수
FROM 학생
GROUP BY 학과
HAVING COUNT(*) >= 10;
JOIN — 테이블 결합
SELECT 학생.이름, 학과.학과명
FROM 학생 INNER JOIN 학과 ON 학생.학과코드 = 학과.학과코드;
집계 함수
SQL 표준과 동일하지만 대소문자 구분 없음.
| 함수 | 용도 |
|---|---|
COUNT(*) | 행 수 |
SUM(필드) | 합계 |
AVG(필드) | 평균 |
MAX(필드) / MIN(필드) | 최대·최소 |
디자인 보기 — 코드 없이 쿼리 만들기
액세스는 SQL을 몰라도 디자인 보기로 쿼리를 만들 수 있어요. 시험에서도 디자인 보기로 풀면 되는 문제가 많습니다.
디자인 보기 화면 구성
- 필드 라인: 조회할 필드 선택
- 테이블 라인: 어느 테이블의 필드인지
- 정렬 라인: 오름차순/내림차순
- 표시 라인: 결과에 보일지 체크
- 조건 라인: WHERE에 해당하는 조건
조건 라인에서 쓰는 기호
| 기호 | 의미 |
|---|---|
=3 또는 3 | 같다 |
>=60 | 크거나 같다 |
<>10 | 다르다 |
Like "김*" | 김씨로 시작 |
Between 10 And 20 | 10~20 |
In (1, 2, 3) | 목록 중 |
Is Null | NULL |
시험에서 자주 나오는 쿼리 유형
유형 1: 기본 조건 조회
"학년이 3이고 점수가 80점 이상인 학생의 이름과 학과를 조회"
SELECT 이름, 학과
FROM 학생
WHERE 학년 = 3 AND 점수 >= 80;
유형 2: 그룹 집계
"학과별 학생 수가 10명 이상인 학과와 학생 수를 조회"
SELECT 학과, COUNT(*) AS 학생수
FROM 학생
GROUP BY 학과
HAVING COUNT(*) >= 10;
유형 3: JOIN + 조건
"컴공과 학생의 이름과 성적을 조회"
SELECT 학생.이름, 성적.점수
FROM 학생 INNER JOIN 성적 ON 학생.학번 = 성적.학번
WHERE 학생.학과 = "컴공";
유형 4: 날짜 범위
"2026년 1월에 주문한 내역을 조회"
SELECT *
FROM 주문
WHERE 주문일 Between #2026-01-01# AND #2026-01-31#;
유형 5: 업데이트·삭제 쿼리
UPDATE 학생 SET 학년 = 학년 + 1 WHERE 학년 < 4;
DELETE FROM 학생 WHERE 학년 = 5;
자주 하는 실수
1. 와일드카드를 %로 씀
액세스는 *. LIKE "김%"는 오류.
2. 날짜 따옴표 사용
문자열은 ", 날짜는 #. 주문일 = "2026-01-01"은 오류.
3. 필드명과 테이블명 중복 시 접두어 누락
SELECT 이름 FROM 학생, 성적에서 학생.이름과 성적.이름이 둘 다 있으면 테이블명.필드명 명시 필수.
4. HAVING과 WHERE 혼동 WHERE는 그룹화 전, HAVING은 그룹화 후. 집계 조건은 HAVING으로.
5. AS 별칭 공백 처리
AS 학생수 → OK. 공백 있으면 AS [학생 수]처럼 대괄호 사용.
액세스 공부 순서
1단계: 설치 및 친숙해지기 (하루)
Microsoft 365 체험판 또는 컴활 교재 부록 파일. 실제로 열어서 테이블·쿼리·폼을 하나씩 만들어보기.
2단계: SQL 기본 (2–3일)
- SELECT, WHERE, ORDER BY
- GROUP BY, HAVING
- JOIN (INNER JOIN 중심)
SQLD 준비한 적 있으면 수월.
3단계: 기출 문제 반복 (1주)
- 기출 파일 다운로드
- 쿼리 디자인 보기와 SQL 보기 왔다 갔다 하며 익히기
- 틀린 문제는 원인 분석 후 다시 풀기
4단계: 폼·보고서 (1주)
쿼리가 먼저, 폼·보고서는 그 다음. 배점이 작으니 쿼리 끝내고 여유 있을 때.
시험장에서의 접근법
- 쿼리 문제부터 — 배점 가장 큼
- 디자인 보기로 먼저 풀고 SQL 확인 — 익숙한 방식으로
- 필드명 자동완성 확인 — 오타 방지
- 실행해서 결과 수 확인 — "조건이 맞는가?" 자체 검증
- 저장 수시로 (Ctrl+S)
정리
- 쿼리가 액세스 영역의 핵심
- SQL 기본 5요소: SELECT / WHERE / GROUP BY / HAVING / JOIN
- 와일드카드
*, 날짜#로 감싸기 — 액세스 특수 문법 - 디자인 보기 활용 → SQL 안 써도 풀 수 있음
- 설치해서 직접 만져본 시간이 점수 결정