책 내용 질문하기
상설시험문제 문제4 처리기능구현
도서
[2012] 컴퓨터활용능력 1급 실기(엑셀, 액세스 2007 사용자용)
페이지
447
조회수
268
작성일
2012-03-24
작성자
첨부파일

페이지 447 2번 문제의 응용 문제입니다.

2번 문제를 참고하여 질문 드리겠습니다.

불일치쿼리를 작성하는 문제입니다.

2.다음과 같은 기능을 수행하는 "판매되지않은상품' 쿼리를 작성하시오.

-판매되지않은 상품에 대한 정보를 표시할 것(<상품>테이블 사용)

상품코드, 상품이름 필드만 표시

-<판매현황>테이블에 없는 상품코드는 판매되지 않은 상품으로 가정할 것

-<판매현황>테이블의 상품이름이 *nike* 이거나 *adidas* 포함하는 상품만 참조

-NOT IN 예약어를 사용

풀이!

1. 두 개의 테이블을 사용하므로 쿼리디자인을 사용하여 쿼리작성

2. <상품>테이블의 상품코드와 상품이름 필드를 드래그

3. 상품코드 필드의 조건에 not in (select 상품코드 from 판매현황)

4.

5.

6.

-> 상품이름에 *nike*와 *adidas*가 포함하는 상품이름만 참조해야하는데...

문제는 불일치 데이터를 검색할 때 판매현황 테이블에서 나이키와 아디다스이름을 가진 데이터만 참조/비교해서 판매되지 않은 상품을 나타내야 하는데요...

보통의 방법 처럼..드래그한 상품테이블의 상품이름 필드의 조건 입력란에

like "*nike*" or like "*adidas*" 이렇게 입력하면 되는 문제가 아닌 것 같아요!

-> 판매현황>테이블에 조건을 입력해야 하는데요...

그럼... where 조건문을 사용해야 하나요.

not in (select 상품코드 from 판매현황 where 상품이름 = like "*nike*" or like "*adidas*";)

-> 그런데...이렇게 하나, 보통의 방법처럼 상품테이블의 상품이름 필드에 조건을 입력해도 결과는

똑같은 것 같은데요...

답변
2012-03-26 11:12:54

안녕하세요. 길벗 수험서 운영팀입니다.

하위 질의로 지정한 <판매현황> 테이블에 조건을 지정하는 것이 맞습니다.

select 상품코드, 상품이름 from 상품

where not in (select 상품코드 from 판매현황 where 상품이름 like "*nike*" or 상품이름 like "*adidas*")

현재 위 코드를 보면 상품 테이블의 조건문 where에 not in을 사용하여 하위 질의를 지정했습니다. 하위 질의문 조건 옆에 and로 연결하여 조건을 지정할 수도 있는 것 같은데요. 올바른 방법은 아닙니다.

좋은 하루 되세요.

"
  • *
    2012-03-26 11:12:54

    안녕하세요. 길벗 수험서 운영팀입니다.

    하위 질의로 지정한 <판매현황> 테이블에 조건을 지정하는 것이 맞습니다.

    select 상품코드, 상품이름 from 상품

    where not in (select 상품코드 from 판매현황 where 상품이름 like "*nike*" or 상품이름 like "*adidas*")

    현재 위 코드를 보면 상품 테이블의 조건문 where에 not in을 사용하여 하위 질의를 지정했습니다. 하위 질의문 조건 옆에 and로 연결하여 조건을 지정할 수도 있는 것 같은데요. 올바른 방법은 아닙니다.

    좋은 하루 되세요.

    "
· 5MB 이하의 zip, 문서, 이미지 파일만 가능합니다.
· 폭언, 욕설, 비방 등은 관리자에 의해 경고없이 삭제됩니다.