책 내용 질문하기
이해가 안 갑니다
도서
2019 시나공 정보처리기사 실기(산업기사포함)
페이지
95
조회수
194
작성일
2019-10-03
작성자
탈퇴*원
첨부파일

2권 95페이지 문제 3번에서 

정답이 

SELECT SUM(psale)

FORM Sale

WHERE pid IN ( ~~);

인데 제대로 설명 좀 부탁드립니다. 

 

왜 갑자기 pid가 들어갔는지 교재를 봐도 이해할수가 없습니다. 

 

답변
2019-10-04 10:55:49

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

 

문제를 보시면 <Sale>과 <Product>는 외래키로 연결되어 있음을 알 수 있습니다.

즉, <Sale>의 pid는 <Product>의 id를 가져와서 사용하는 속성임을 알 수 있죠.

 

문제에서는 <Product>에서 name이 USB인 상품의 psale의 합계를 구하고자 하네요.

psale은 <Sale>에 존재하지만 name에 해당하는 튜플들을 골라내기 위해서는 연결된 외래키를 이용해주어야 합니다.

 

간단하게 임의로 테이블을 구성해서 확인해보세요.

 

이렇게 <Sale> 테이블이 있고, 

id / sid / pid / psale

1, a, a-1, 100

2, b, b-1, 200

3, c, a-1, 300

 

이렇게 <Product> 테이블이 있다고 가정하면

id / name / price

a-1, USB, 10000

b-1, HDMI, 20000

c-1, DVI, 30000

 

이렇게 구성할 수 있겠네요.

 

USB인 <product>의 id인 a-1을 먼저 구한다음 <sale> 테이블에서 a-1인 튜플들의 psale의 합계를 구해야 하기 때문에 외래키인 pid를 이용한 것입니다.

 

행복한 하루되세요 :)

  • 관리자
    2019-10-04 10:55:49

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

     

    문제를 보시면 <Sale>과 <Product>는 외래키로 연결되어 있음을 알 수 있습니다.

    즉, <Sale>의 pid는 <Product>의 id를 가져와서 사용하는 속성임을 알 수 있죠.

     

    문제에서는 <Product>에서 name이 USB인 상품의 psale의 합계를 구하고자 하네요.

    psale은 <Sale>에 존재하지만 name에 해당하는 튜플들을 골라내기 위해서는 연결된 외래키를 이용해주어야 합니다.

     

    간단하게 임의로 테이블을 구성해서 확인해보세요.

     

    이렇게 <Sale> 테이블이 있고, 

    id / sid / pid / psale

    1, a, a-1, 100

    2, b, b-1, 200

    3, c, a-1, 300

     

    이렇게 <Product> 테이블이 있다고 가정하면

    id / name / price

    a-1, USB, 10000

    b-1, HDMI, 20000

    c-1, DVI, 30000

     

    이렇게 구성할 수 있겠네요.

     

    USB인 <product>의 id인 a-1을 먼저 구한다음 <sale> 테이블에서 a-1인 튜플들의 psale의 합계를 구해야 하기 때문에 외래키인 pid를 이용한 것입니다.

     

    행복한 하루되세요 :)

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