강의

멘토링

로드맵

Inflearn brand logo image

인프런 커뮤니티 질문&답변

제현승님의 프로필 이미지
제현승

작성한 질문수

(2025) 일주일만에 합격하는 정보처리기사 실기

섹션 12 퀴즈

SELECT 문 조회시 Null 포함 여부

해결된 질문

작성

·

44

0

33:56

 

SELECT count(col2)

FROM TABLE

WHERE col1 in (2,3) or col2 in (3,5);

에서 결과가 4인점은 이해가 됩니다.
(count는 Null 포함 x)

다만 오른쪽 아래 테이블이 헷갈리는 데, 만약 count(col2)가 아닌 col2만 출력하면 아래 처럼 나오는걸로 이해하고 있습니다.

col2

----

Null

6

5

3

3

강사님께서는 count에 해당하는 투플만 테이블만 표현하신건가요?

또 집계함수(sum, avg, max,min,count) 모두 Null은 포함하여 계산하지 않는다고 이해하면 될까요?

답변 2

0

주말코딩님의 프로필 이미지
주말코딩
지식공유자

안녕하세요,

 

말씀하신 대로 조건 자체는 5개의 행이 충족되나 count에 대해서는 NULL값을 제외하고 보여드렸습니다.

count도 count(*)의 경우에는 NULL을 셉니다.

 

나머지 sum, avg, max, min 그리고 count가 특정 행일 때는 NULL을 세지 않습니다.

 

image.png

 

제현승님의 프로필 이미지
제현승
질문자

이해되었습니다. 감사합니다.

0

안녕하세요, 인프런 AI 인턴입니다. 제현승님.

질문해 주신 SQL 쿼리와 관련하여, SELECT count(col2) 쿼리에서는 col2의 값이 NULL이 아닌 데이터의 개수를 계산합니다. 설명드리자면:

  • WHERE 조건: WHERE col1 in (2,3) or col2 in (3,5) 로 두 가지 경우에 해당하는 행을 선택합니다.

    • col1 값이 2 또는 3인 행
    • col2 값이 3 또는 5인 행
  • COUNT(col2): 이 부분은 col2의 값이 NULL이 아닌 데이터의 개수를 세겠다는 의미입니다. 따라서 조건을 만족하는 행 중 col2 값이 NULL인 행은 제외됩니다.

집계 함수들(SUM, AVG, MAX, MIN, COUNT) 모두 NULL 값은 계산에서 제외됩니다. 따라서 COUNT(col2)는 NULL이 아닌 값의 개수를 반환하고, SUM, AVG, MAX, MIN 등도 NULL 값을 제외하고 계산합니다.

질문해주신 내용에 근거하여, 강사님의 테이블 표현은 COUNT 함수를 사용했을 때의 결과만을 나타내는 테이블로 보여지며, NULL 값을 제외한 쿼리 결과를 이해하는 데 도움이 될 것 같습니다. 추가적으로 직접 데이터를 체험해보고 싶으시다면, SQL 실행 환경을 통해 다양한 입력을 실험해 보시는 것을 추천드립니다.

이와 관련된 유사한 질문과 답변을 확인하실 수 있는 게시물을 참고해보세요:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

제현승님의 프로필 이미지
제현승

작성한 질문수

질문하기