205페이지 1번에 보면 group by에 사용되지 않은 속성이 select 되어 오답이라 나와있으며
group by 설명에도 사용된 속성 또는 집계함수만 가능하다고 알았습니다.
그런데 214페이지 문제에서는 부서번호로 묶고 부서명을 select 하였는데 옳은 문장으로 정답입니다.
기출 오류인지 예외의 경우가 있는건지 궁금합니다
첫댓글 먼저, 기본적으로 205쪽 설명이 표준입니다.그런데SQL에 따라서는 214쪽처럼 기술해도 오류를 발생시키지 않고 적절하게 출력해 줍니다.
중요한 것은 시험에서 어떻게 대응할 것인가? 입니다.지금까지 대부분의 시험 문제는 205쪽처럼 풀어야 합니다.
214쪽 내용은 전부 집계함수를 사용하지 않고 부서명을 적었습니다.그런데, 결과가 제대로 출력되는 이유는그룹화한 항목이 기본키인 부서번호 입니다.기본키는 동일한 것이 없으므로하나의 그룹에는 하나의 레코드만 존재하게 되고하나의 레코드의 부서명이 출력되는 것입니다.
만약,하나의 그룹에 여러 레코드가 존재할때 집계함수를 사용하지 않으면출력되는 값은 의마가 없는 것이 됩니다.의미가 없으므로SQL은 오류를 출력하는 것인데SQL에 따라서는 오류를 출력하지 않고 그냥 여러 값 중에서 하나를 출력하기도 합니다.
출제자가 이런 것을 감안해서 출제한 것인지?알 수 없는 일입니다.
SQL에 따라 가능하기도 한데 기본키나 값이 하나인 그룹화가 아니면 의미없는 일이 될 수 있는 거군요.문제에 따라 융통성있게 풀어야겠습니다 답변 감사합니다
첫댓글 먼저, 기본적으로 205쪽 설명이 표준입니다.
그런데
SQL에 따라서는 214쪽처럼 기술해도 오류를 발생시키지 않고 적절하게 출력해 줍니다.
중요한 것은 시험에서 어떻게 대응할 것인가? 입니다.
지금까지 대부분의 시험 문제는 205쪽처럼 풀어야 합니다.
214쪽 내용은 전부 집계함수를 사용하지 않고 부서명을 적었습니다.
그런데, 결과가 제대로 출력되는 이유는
그룹화한 항목이 기본키인 부서번호 입니다.
기본키는 동일한 것이 없으므로
하나의 그룹에는 하나의 레코드만 존재하게 되고
하나의 레코드의 부서명이 출력되는 것입니다.
만약,
하나의 그룹에 여러 레코드가 존재할때 집계함수를 사용하지 않으면
출력되는 값은 의마가 없는 것이 됩니다.
의미가 없으므로
SQL은 오류를 출력하는 것인데
SQL에 따라서는 오류를 출력하지 않고 그냥 여러 값 중에서 하나를 출력하기도 합니다.
출제자가 이런 것을 감안해서 출제한 것인지?
알 수 없는 일입니다.
SQL에 따라 가능하기도 한데 기본키나 값이 하나인 그룹화가 아니면 의미없는 일이 될 수 있는 거군요.
문제에 따라 융통성있게 풀어야겠습니다
답변 감사합니다