책 내용 질문하기
실기 2권 예상문제은행 문제6번
도서
2021 시나공 정보처리산업기사 실기
페이지
129
조회수
400
작성일
2021-07-06
작성자
탈퇴*원
첨부파일

정답이 SEELCT 이름 FROM 자격증 GROUP BY 이름 HAVING COUNT(*)>=2; 인데요

COUNT(*)부분에 COUNT(이름) 이라 적으면 결과가 다른가요?

답변
2021-07-07 10:36:18

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

 

아뇨 같습니다.

 

count의 인수에 *이 들어간 것은 검색 결과의 '튜플 수'를 반환하며,

속성이 들어간 것은 검색 결과에서 해당 속성의 '유효 값의 개수'를 반환합니다.

 

예를 들어 127쪽의 <사원> 테이블에서 select count(*) from 사원; 을 사용하게 되면, 전체 튜플 수인 

8이 반환됩니다.

반면 select count(주소) from 사원; 을 사용하게 되면 '주소' 속성에서의 유효 값의 개수인 7이 반환되게 되죠.

 

즉, 아무 값도 입력되지 않은 NULL이 '주소' 속성에 있기 때문에 해당 튜플을 카운트하지 않은 것이죠.

 

다만 문의하신 문제에서는 모든 튜플의 '이름' 속성에 유효 값이 들어가 있으므로 count(*)과 다를바가 없습니다.

 

행복한 하루되세요 :)

  • 관리자
    2021-07-07 10:36:18

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

     

    아뇨 같습니다.

     

    count의 인수에 *이 들어간 것은 검색 결과의 '튜플 수'를 반환하며,

    속성이 들어간 것은 검색 결과에서 해당 속성의 '유효 값의 개수'를 반환합니다.

     

    예를 들어 127쪽의 <사원> 테이블에서 select count(*) from 사원; 을 사용하게 되면, 전체 튜플 수인 

    8이 반환됩니다.

    반면 select count(주소) from 사원; 을 사용하게 되면 '주소' 속성에서의 유효 값의 개수인 7이 반환되게 되죠.

     

    즉, 아무 값도 입력되지 않은 NULL이 '주소' 속성에 있기 때문에 해당 튜플을 카운트하지 않은 것이죠.

     

    다만 문의하신 문제에서는 모든 튜플의 '이름' 속성에 유효 값이 들어가 있으므로 count(*)과 다를바가 없습니다.

     

    행복한 하루되세요 :)

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