책 내용 질문하기
SQL 구문말인데요.
도서
2017 시나공 정보처리기사 실기(산업기사 포함) 특별개정판
페이지
117
조회수
132
작성일
2017-04-10
작성자
탈퇴*원
첨부파일

2017 시나공 정보처리기사 실기(산업기사 포함) 특별개정판

기출문제 82쪽(최신기출1회)과 117쪽 문제 6(최신기출4회)번 말인데요.

117쪽 문제 6번의 경우

반품현황과 소매점의 테이블 2개가 존재하고

소매점 코드로 조인하여 sql문을 작성하라는 문제입니다.

답안이

select 소매점명, sum(반품수) as 총반품수

from 반품현황.소매점

where 반품현황.소매점코드 = 소매점.소매점코드

group by 소매점명

order by sum(반품수) as desc; 로 되어있는데

select로 필드를 보일때 A,B 2개 이상의 테이블을 조인한다면

select A.필드1

from 테이블1, 테이블2

where A.필드1 = B.필드1

group by A.필드1

과 같이

select와 group by시 필드명이 어느테이블의 필드명인지 정확히 명시되어야 한다는 걸로 알고있습니다.

그러나 답안은

어느테이블에 존재하는 소매점명인지 불분명한듯 한데

실 문제에 답안과 같이 작성해도 되는지 궁금합니다.

답변
2017-04-11 09:20:54

안녕하세요.

필드명을 테이블명과 함께 기술하는 경우는 여러 테이블에 같은 이름의 속성이 존재하는 경우 이를 구분하기 위함입니다.

소매점코드 속성은 반품현황과 소매점 테이블에 모두 존재하므로 기술할 때 어느 테이블의 소매점코드인지 구분해서 작성해야 하므로 테이블명과 속성을 함께 기술합니다.

하지만 소매점명은 소매점 테이블에만 존재하는 테이블이므로 굳이 테이블명을 함께 기술하지 않아도 됩니다.

오늘도 즐거운 하루 되세요.

  • *
    2017-04-11 09:20:54

    안녕하세요.

    필드명을 테이블명과 함께 기술하는 경우는 여러 테이블에 같은 이름의 속성이 존재하는 경우 이를 구분하기 위함입니다.

    소매점코드 속성은 반품현황과 소매점 테이블에 모두 존재하므로 기술할 때 어느 테이블의 소매점코드인지 구분해서 작성해야 하므로 테이블명과 속성을 함께 기술합니다.

    하지만 소매점명은 소매점 테이블에만 존재하는 테이블이므로 굳이 테이블명을 함께 기술하지 않아도 됩니다.

    오늘도 즐거운 하루 되세요.

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