책 내용 질문하기
문제를 풀어봤는데 해답을 보니 left outer join으로 풀어져 있어 질문 드립니다
도서
2018 시나공 정보처리기사 실기(산업기사 포함)
페이지
127
조회수
62
작성일
2018-10-03
작성자
탈퇴*원
첨부파일

저는 outer join을 생각하지 않고 문제를 풀어봤는데 이렇게 해도 되는지 답변 부탁드립니다

SELECT 학교.학교명, 지역

FROM 학교

WHERE 학교명 NOT IN ( SELECT 학교명 FROM 학과);

그리고 131p 16번 문제도 같이 질문드립니다

SELECT 상호, MAX(총액) AS 총액

FROM 거래내역

GROUP BY 상호;

이렇게 풀 수 없다면 이유를 알려주시면 감사하겠습니다. 그룹함수 사용법을 좀 헷갈리고 있어서요.

답변
2018-10-04 15:38:56

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

SELECT 학교.학교명, 지역

FROM 학교

WHERE 학교명 NOT IN ( SELECT 학교명 FROM 학과);

[답변]

예, 동일한 결과를 출력하므로 정답으로 인정됩니다.

다만 실제 문제에서는 outer join을 활용하라는 등의 <처리 조건>이 명시될 수 있으니 outer join 또한 충분히 연습해두세요.

131p 16번 문제도 같이 질문드립니다

SELECT 상호, MAX(총액) AS 총액

FROM 거래내역

GROUP BY 상호;

[답변]

위 SQL문은 오답입니다.

위와 같이 실행할 경우 각 상호가 모두 하나의 그룹으로 지정되어, 각 그룹의 총액이 출력되게 됩니다.

(상호는 겹치는 레코드들이 없으니, 각 상호와 총액이 그대로 찍히겠죠.)

그룹함수의 경우 레코드들을 묶을 수 있는 동일한 값을 지닌 속성값이 필요합니다.

직원 테이블에서 (직원코드, 이름, 부서) 가 있다면 '부서' 정도가 그룹으로 묶을 수 있는 속성이 됩니다.

직원코드나 이름은 그룹으로 묶을 정도의 중복 레코드가 존재하기 어려우니깐요.

행복한 하루되세요.^^

  • *
    2018-10-04 15:38:56

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

    SELECT 학교.학교명, 지역

    FROM 학교

    WHERE 학교명 NOT IN ( SELECT 학교명 FROM 학과);

    [답변]

    예, 동일한 결과를 출력하므로 정답으로 인정됩니다.

    다만 실제 문제에서는 outer join을 활용하라는 등의 <처리 조건>이 명시될 수 있으니 outer join 또한 충분히 연습해두세요.

    131p 16번 문제도 같이 질문드립니다

    SELECT 상호, MAX(총액) AS 총액

    FROM 거래내역

    GROUP BY 상호;

    [답변]

    위 SQL문은 오답입니다.

    위와 같이 실행할 경우 각 상호가 모두 하나의 그룹으로 지정되어, 각 그룹의 총액이 출력되게 됩니다.

    (상호는 겹치는 레코드들이 없으니, 각 상호와 총액이 그대로 찍히겠죠.)

    그룹함수의 경우 레코드들을 묶을 수 있는 동일한 값을 지닌 속성값이 필요합니다.

    직원 테이블에서 (직원코드, 이름, 부서) 가 있다면 '부서' 정도가 그룹으로 묶을 수 있는 속성이 됩니다.

    직원코드나 이름은 그룹으로 묶을 정도의 중복 레코드가 존재하기 어려우니깐요.

    행복한 하루되세요.^^

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