페이지 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*";)
-> 그런데...이렇게 하나, 보통의 방법처럼 상품테이블의 상품이름 필드에 조건을 입력해도 결과는
똑같은 것 같은데요...
안녕하세요. 길벗 수험서 운영팀입니다.
하위 질의로 지정한 <판매현황> 테이블에 조건을 지정하는 것이 맞습니다.
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로 연결하여 조건을 지정할 수도 있는 것 같은데요. 올바른 방법은 아닙니다.
좋은 하루 되세요.
"