공든탑앱 열기

선택 쿼리와 조건

컴퓨터활용능력 1급 · 쿼리와 SQL · 약 13분

쉽게 말하면

쿼리는 테이블에게 던지는 질문이에요. '3학년이면서 서울에 사는 학생의 이름만 보여 줘'처럼요. 디자인 보기에서 필드를 고르고 조건 칸에 조건을 적으면, Access가 맞는 레코드만 골라 보여 줘요. 실행할 때마다 값을 물어보게 만들 수도 있어요.

시험용 정의

선택 쿼리는 하나 이상의 테이블·쿼리에서 원하는 필드와 조건에 맞는 레코드를 골라 보여 주는 가장 기본 쿼리다. 쿼리 디자인 보기의 눈금에서 필드·테이블·정렬·표시·조건·또는 행을 채운다. 같은 행에 쓴 조건들은 AND, 조건 행과 또는 행처럼 다른 행에 쓴 조건은 OR로 묶인다. 표시 확인란을 끄면 그 필드는 조건에만 쓰이고 결과에는 나오지 않는다. 조건식에는 비교 연산자(=, <>, >=), Between A And B(양 끝 포함), In(값1, 값2), Is Null, Not, 패턴을 찾는 Like(*·? 와일드카드)를 쓴다. 문자는 "서울"처럼 큰따옴표, 날짜는 #2024-03-01#처럼 #로 감싼다. 조건에 [최소 나이를 입력하세요]처럼 대괄호 안에 안내문을 쓰면 실행할 때 값을 묻는 매개 변수 쿼리가 되고, Between [시작] And [끝]처럼 여러 개도 쓸 수 있다. 필드 칸에 새이름: 식을 쓰면 계산 필드가 생긴다(예: 금액: [수량]*[단가]). 요약(Σ)을 켜면 묶는 방법·합계·평균·개수·최대값·최소값·조건 등을 고를 수 있다. 쿼리 마법사에는 단순 쿼리, 크로스탭 쿼리, 중복 데이터 검색, 불일치 검색이 있다.

비유로 이해하기

도서관 검색창의 '상세 검색'과 같다. 같은 줄에 '저자: 김, 연도: 2020'을 쓰면 둘 다 맞는 책, 줄을 바꿔 쓰면 둘 중 하나만 맞아도 나오는 책을 찾는다. 매개 변수 쿼리는 검색할 때마다 '연도를 입력하세요' 창이 뜨는 검색이다.

자세히

AND와 OR

필드 : 학년   지역
조건 : 3      "서울"     ← 같은 줄: 3학년 AND 서울
또는 :        "부산"     ← 다른 줄: OR 부산(학년 상관없음)

결과: (3학년이면서 서울) 또는 (부산)인 학생

조건식 모음

조건뜻
>=2000 And <=40002000 이상 4000 이하 (Between 2000 And 4000과 같다)
<>"성북구"성북구가 아닌 것 (Not "성북구"도 같다)
In("서울", "부산")서울 또는 부산
"수학" Or "영어"수학이거나 영어
Like "서울*"서울로 시작
Like "*신림*"신림이 어디든 들어 있음
Like "김??"김으로 시작하는 세 글자
#2024-01-01#날짜 값 (따옴표가 아니라 #)
Is Null값이 비어 있음
>=[최소 나이 입력]실행할 때 값을 묻는 매개 변수

쿼리 마법사 네 가지

마법사만드는 것
단순 쿼리고른 필드를 보여 주는 선택 쿼리 (요약도 가능)
크로스탭 쿼리행·열로 묶어 합계·평균 등을 표로
중복 데이터 검색한 테이블에서 같은 값이 여러 번 나오는 레코드
불일치 검색한 테이블에는 있고 다른 테이블에는 짝이 없는 레코드 (테이블 두 개가 필요)

시험에 이렇게 나와요

확인 문제

Q1. 쿼리 디자인 보기에서 '학년' 조건에 3, 같은 줄의 '지역' 조건에 "서울"을 쓰면?

  1. 3학년이거나 서울인 레코드
  2. 3학년이 아닌 서울 레코드
  3. 오류가 난다
  4. 3학년이면서 서울인 레코드
정답 보기

4번 3학년이면서 서울인 레코드

같은 조건 줄에 있는 조건은 모두 만족해야 하는 AND, 다른 줄에 있으면 OR다.

Q2. '가입일'이 2024년 1월 1일 이후인 회원을 찾는 조건식으로 옳은 것은?

  1. >=[2024-01-01]
  2. >="2024-01-01"
  3. >=(2024-01-01)
  4. >=#2024-01-01#
정답 보기

4번 >=#2024-01-01#

날짜 값은 # 기호로 감싼다. 대괄호는 필드 이름이나 매개 변수다.

Q3. 실행할 때마다 찾을 지역을 입력받으려면 '지역' 필드 조건에 무엇을 써야 할까?

  1. {지역을 입력하세요}
  2. "지역을 입력하세요"
  3. [지역을 입력하세요]
  4. #지역을 입력하세요#
정답 보기

3번 [지역을 입력하세요]

대괄호 안의 이름이 필드가 아니면 Access가 값을 묻는 창을 띄운다.

Q4. Like "*공원*" 조건으로 찾을 수 있는 값이 아닌 것은?

  1. 어린이공원
  2. 공원로
  3. 중앙공원길
  4. 공터
정답 보기

4번 공터

*공원*은 '공원'이 어디에든 들어 있는 값이다. '공터'에는 '공원'이 없다.

Q5. '성적' 조건에 Between [최저] And [최고]를 쓰고 70, 80을 입력하면?

  1. 70 미만이거나 80 초과인 레코드
  2. 70 초과 80 미만인 레코드
  3. 70과 80인 레코드만
  4. 70 이상 80 이하인 레코드
정답 보기

4번 70 이상 80 이하인 레코드

Between은 양 끝 값을 포함한다.

헷갈리기 쉬운 O·X

쿼리 디자인 보기에서 서로 다른 행에 쓴 조건은 모두 만족해야 결과에 나온다.

정답 보기

X 다른 행은 OR다. 모두 만족해야 하는 AND는 같은 행이다.

패턴과 일치하는 데이터를 찾을 때 쓰는 연산자는 Like다.

정답 보기

O Like와 함께 *·? 같은 와일드카드를 쓴다.

함께 보면 좋은 개념