실행 쿼리·크로스탭·조인
쉽게 말하면
쿼리는 보여 주기만 하는 것(선택 쿼리)과 실제로 데이터를 바꾸는 것(실행 쿼리)이 있어요. '3학년 전체 반을 4반으로 바꿔'처럼 한꺼번에 고치거나 지우는 것이 실행 쿼리예요. 크로스탭 쿼리는 엑셀 피벗 테이블처럼 행과 열로 묶어 합계를 보여 줘요.
시험용 정의
실행 쿼리는 레코드를 실제로 바꾸는 쿼리로, 실행하면 되돌릴 수 없어 확인 메시지가 나온다. 테이블 만들기 쿼리는 결과로 새 테이블을 만들고, 추가 쿼리는 다른 테이블 끝에 레코드를 붙이며, 업데이트 쿼리는 조건에 맞는 레코드의 값을 한꺼번에 바꾸고(업데이트 행에 새 값), 삭제 쿼리는 조건에 맞는 레코드를 지운다. 크로스탭 쿼리는 데이터를 왼쪽 행 머리글(최대 3개)과 위쪽 열 머리글(1개)로 묶고, 교차하는 칸에 값(1개) 필드를 합계·평균·개수·최대·최소·분산·표준 편차 등으로 계산해 보여 준다. 엑셀 피벗 테이블과 비슷하며 결과를 직접 편집할 수 없다. 중복 데이터 검색 쿼리는 한 테이블에서 값이 겹치는 레코드를 찾고, 불일치 검색 쿼리는 한 테이블에는 있지만 관련 테이블에 짝이 없는 레코드(예: 주문이 없는 고객)를 찾으므로 테이블이 두 개 필요하다. 여러 테이블을 묶는 조인에서 내부 조인은 조인 필드 값이 일치하는 행만, 외부 조인(왼쪽·오른쪽)은 한쪽 테이블의 행을 짝이 없어도 모두 포함한다. 조인 필드는 데이터 형식이 같거나 호환되어야 한다.
비유로 이해하기
선택 쿼리가 '명단 보여 줘'라면 실행 쿼리는 '명단에서 졸업생 지워', '전원 학년 올려'처럼 실제로 장부를 고치는 지시다. 크로스탭은 '반별·과목별 평균'을 칠판에 가로세로 표로 그려 주는 것이다.
자세히
쿼리 종류
| 쿼리 | 하는 일 | 디자인 보기 행 |
|---|---|---|
| 선택 | 조건에 맞는 레코드 보기 | 조건·정렬·표시 |
| 테이블 만들기 | 결과로 새 테이블 생성 | 새 테이블 이름 지정 |
| 추가 | 다른 테이블에 레코드 추가 | 추가 대상 필드 |
| 업데이트 | 조건에 맞는 값을 한꺼번에 변경 | 업데이트(새 값) |
| 삭제 | 조건에 맞는 레코드 삭제 | 조건 |
| 크로스탭 | 행·열로 묶어 요약 | 행 머리글·열 머리글·값 |
크로스탭 쿼리 규칙
1월 2월 3월 ← 열 머리글 (1개) 서울 A제품 120 90 150 서울 B제품 80 60 70 ← 값 (1개, 합계) ↑ 행 머리글 (최대 3개: 지역, 제품)
- 행 머리글 최대 3개, 열 머리글 1개, 값 1개
- 값은 합계·평균·개수·최대·최소·분산·표준 편차 등
- 결과 데이터시트는 편집할 수 없다
조인
| 조인 | 결과 |
|---|---|
| 내부 조인 | 두 테이블 모두에 일치하는 값이 있는 행만 |
| 왼쪽 외부 조인 | 왼쪽 테이블은 전부, 오른쪽은 일치하는 행만 |
| 오른쪽 외부 조인 | 오른쪽 테이블은 전부, 왼쪽은 일치하는 행만 |
시험에 이렇게 나와요
- 크로스탭 → 행 머리글 최대 3개, 열 머리글 1개, 값 1개, 결과 편집 불가
- 측면과 위쪽 두 세트로 묶어 집계 → 크로스탭 쿼리
- 불일치 검색 → 테이블 두 개 필요 (테이블 하나뿐이면 못 만듦)
- 내부 조인 → 조인 필드가 일치하는 행만
- 조인 필드는 데이터 형식이 같거나 호환되어야 함
확인 문제
Q1. 크로스탭 쿼리에 대한 설명으로 옳지 않은 것은?
- 교차하는 곳에 합계·평균·개수 등을 계산한다
- 결과 데이터시트에서 값을 직접 고칠 수 없다
- 열 머리글은 여러 개, 행 머리글은 하나만 지정한다
- 행 머리글과 열 머리글로 묶어 요약 값을 보여 준다
정답 보기
3번 열 머리글은 여러 개, 행 머리글은 하나만 지정한다
반대다. 행 머리글은 최대 3개, 열 머리글은 1개, 값은 1개다.
Q2. [사원] 테이블에서 근속 10년 이상인 사원의 '등급'을 모두 'A'로 바꾸는 쿼리는?
- 업데이트 쿼리
- 테이블 만들기 쿼리
- 크로스탭 쿼리
- 추가 쿼리
정답 보기
1번 업데이트 쿼리
조건에 맞는 레코드의 값을 한꺼번에 바꾸는 것은 업데이트 쿼리다.
Q3. 주문을 한 번도 하지 않은 고객을 찾으려 할 때 알맞은 쿼리 마법사는?
- 중복 데이터 검색 쿼리
- 불일치 검색 쿼리
- 크로스탭 쿼리
- 단순 쿼리
정답 보기
2번 불일치 검색 쿼리
고객 테이블에는 있지만 주문 테이블에 짝이 없는 레코드를 찾는 것이 불일치 검색이다.
Q4. 크로스탭 쿼리에서 지정할 수 있는 행 머리글의 최대 개수는?
- 1개
- 2개
- 제한 없음
- 3개
정답 보기
4번 3개
행 머리글 최대 3개, 열 머리글 1개, 값 1개다.
Q5. 조인에 대한 설명으로 옳지 않은 것은?
- 조인 필드는 데이터 형식이 달라도 문제없다
- 외부 조인은 짝이 없는 행도 포함할 수 있다
- 내부 조인은 양쪽이 일치하는 행만 보여 준다
- 여러 테이블에서 데이터를 함께 보려면 조인을 쓴다
정답 보기
1번 조인 필드는 데이터 형식이 달라도 문제없다
조인할 필드는 데이터 형식이 같거나 호환되어야 한다.
헷갈리기 쉬운 O·X
테이블이 하나뿐인 데이터베이스에서도 불일치 검색 쿼리를 만들 수 있다.
정답 보기
X 불일치 검색은 두 테이블을 비교하므로 테이블이 두 개 있어야 한다.
크로스탭 쿼리 결과 데이터시트에서 값을 직접 고칠 수 있다.
정답 보기
X 크로스탭 결과는 요약 값이라 직접 편집할 수 없다.