← 개념서태블릿/PC 버전
데이터베이스·1급 전용·22장

쿼리와 SQL

선택 쿼리의 조건 작성과 요약, 매개 변수·크로스탭·실행 쿼리, SELECT 문의 구조와 주요 SQL 구문을 정리합니다.

노란 밑줄n회 기출에 나온 지점(숫자는 등장 문항 수)✎ 는 덧붙인 필기

출제 비중 — 데이터베이스에서 가장 무거운 단원. SQL70회 과 SELECT 문23회, 쿼리 종류 구분이 매 회차 나온다.

1. 쿼리의 종류

종류 내용
선택 쿼리7회 조건에 맞는 데이터를 추출해 보여 준다. 가장 기본
매개 변수 쿼리8회 실행할 때 값을 입력받아 조건으로 쓴다. 조건에 [ ] 대괄호로 메시지를 적는다
크로스탭 쿼리10회 행 머리글·열 머리글·값으로 요약표를 만든다. 행 머리글은 여러 개, 열 머리글과 값은 각각 하나
실행(액션) 쿼리10회 테이블 만들기 · 추가 · 업데이트 · 삭제 네 가지. 실제 데이터를 바꾼다
통합(UNION) 쿼리 여러 테이블의 결과를 하나로 합친다. SQL 보기에서만 작성
  • 쿼리 결과(레코드셋)는 테이블처럼 보이지만 실제 데이터는 원본 테이블에 있다. 쿼리에서 값을 고치면 원본 테이블도 바뀐다.

2. 디자인 보기에서 조건 작성

  • 눈금의 행: 필드 / 테이블 / 정렬 / 표시 / 조건 / 또는.
  • 같은 행에 쓴 조건은 AND, 다른 행(또는) 에 쓴 조건은 OR.
  • 연산자
연산자 예
Like Like "김*" — * 는 여러 글자, ? 는 한 글자, # 은 숫자 한 자리
Between … And … Between 10 And 20 (경계 포함)
In In ("서울","부산")
Is Null / Is Not Null 빈 값 / 빈 값 아님
Not 부정
  • 날짜는 #2026-09-20# 처럼 # 으로 감싼다.
  • 요약(집계): 묶는 방법(Group By) · 합계 · 평균 · 개수 · 최대 · 최소 · 조건(Where) · 식(Expression).
    • 조건(Where) 으로 지정한 필드는 결과에 표시되지 않는다.

3. SELECT 문

  • 기본 구조
절 내용
SELECT 표시할 필드. * 는 모든 필드, DISTINCT 는 중복 제거
FROM 대상 테이블
WHERE 행(레코드) 에 대한 조건
GROUP BY7회 지정한 필드로 그룹을 묶는다
HAVING5회 그룹에 대한 조건. 집계 함수 조건은 HAVING 에 쓴다
ORDER BY 정렬. ASC 오름차순(기본) · DESC 내림차순
  • 실행 순서: FROM → WHERE → GROUP BY → HAVING → SELECT → ORDER BY.
  • 집계 함수: COUNT · SUM · AVG · MAX · MIN. COUNT(*) 는 Null 을 포함한 행 수, COUNT(필드) 는 Null 을 뺀 값의 수.
  • TOP n: SELECT TOP 5 … — 정렬(ORDER BY)과 함께 써야 의미가 있고, 동점이면 n 개보다 많이 나올 수 있다.

4. 데이터 조작 SQL

구문 형태
INSERT INSERT INTO 테이블(필드…) VALUES(값…)
UPDATE UPDATE 테이블 SET 필드=값 WHERE 조건. WHERE 를 빼면 전체 레코드가 바뀐다
DELETE DELETE FROM 테이블 WHERE 조건. 레코드 단위로 지워지며 일부 필드만 지울 수는 없다
CREATE TABLE 테이블 정의(NOT NULL, PRIMARY KEY 지정)
ALTER TABLE ADD / ALTER 로 필드 추가·변경
  • 조인 SQL: SELECT … FROM A INNER JOIN B ON A.키 = B.키.
  • 하위 쿼리: WHERE 절 안에 또 다른 SELECT. IN·EXISTS·비교 연산자와 함께 쓴다.

마무리 체크

  • 매개 변수는 대괄호, 크로스탭은 열 머리글·값이 각 1개
  • 같은 행=AND, 다른 행=OR
  • Like 의 *, ?, #, 날짜는 # 으로 감싼다
  • WHERE 는 행 조건, HAVING 은 그룹(집계) 조건
  • COUNT(*) 는 Null 포함, COUNT(필드)는 제외
  • UPDATE·DELETE 에서 WHERE 를 빠뜨리면 전체가 대상