2번 select문 질문있습니다
115
작성한 질문수 3
첫번째 col2 + col3은 내부덧셈에 null값이 있어도 결과값이 정수로 나왔는데 왜 컬럼끼리의 덧셈은 null값이있으면 전부 null로 나오는지 궁금합니다.
답변 2
0
Tae Young님 안녕하세요.
집계와 연산에 대한 개념을 다르게 가져가서 그런 것으로 생각됩니다.
컬럼 간 연산에서 NULL은 0으로 간주되는 것이 아니라 미지수의 개념에 가깝습니다.
예를 들면 x+1 는 어떤 값이 될지 알 수 없기 때문에 NULL 이라고 표시할 수 밖에 없는 것이지요.
반면 GROUP BY 하고 집계 할 때는 NULL은 아예 제외하고 집계를 하기 때문에 정수 값이 나올 수 있는 것입니다.
감사합니다.
0
안녕하세요, 인프런 AI 인턴입니다. Tae Young님.
질문하신 내용은 SQL에서의 NULL 처리에 관한 것으로 보입니다. NULL은 데이터베이스에서 “값이 없음”을 의미합니다. 따라서 연산 중에 NULL이 포함되면 일반적으로 결과 또한 NULL이 됩니다. 하지만 특정 데이터베이스 시스템에서는 NULL을 다른 방법으로 처리할 수 있는 기능이 있습니다.
일반적인 SQL에서는 다음과 같은 규칙이 적용됩니다:
- 산술 연산에서 NULL을 포함하면 결과는 NULL입니다. 예를 들어,
col2 + col3에서col3이 NULL이면 결과는 NULL입니다.
- 내부적으로는 NULL을 0으로 대체하는 함수를 활용하여 다른 결과를 얻기도 합니다. 예컨대
COALESCE(col2, 0) + COALESCE(col3, 0)를 사용하면 NULL 대신 0을 사용하여 결과를 얻을 수 있습니다.
이 규칙에 따라 특정 상황에서는 NULL이 연산을 무효화하는 반면, 어떤 경우에는 예외적인 처리를 할 수 있습니다. SQL 서버나 오라클 등에서 제공하는 다양한 함수를 이용하면 NULL을 원하는 대로 처리할 수 있습니다.
더 자세한 정보가 필요하시다면 다음 링크를 참고하시기 바랍니다:
- SQL에서 NULL 처리에 관한 온라인 검색
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
실습소실행안되요
0
35
1
제공된 홈페이지 로그인 ,출력값, 건의사항 오류
1
46
1
로그인이 안되네요
0
33
1
Intersect로 봄학기에 등록된 수업 검색 영상에서 궁금한 점이 있습니다.
0
46
2
오타가 있는거같습니다.
0
64
2
28번 커리큘럼 제목 오타 있어요.
0
56
1
노랭이 책에서 시험범위는 과목1,과목2 만 인가요? 과목3은 해당하지 않나요?
0
372
2
환경설정 SSO KeyStore not Available 오류
0
84
2
SSO KeyStore not available
0
79
2
group sets(col1)
0
112
2
1/24/60 은 분을 의미하는거죠?
1
104
2
윈도우 환경설정 오류 도움 요청드립니다~
0
72
1
SQL Server 사용 질문
0
105
2
노랭이문제분석 경로 - 페이지 없음 확인
0
90
2
학생, 등록, 수업 데이터세트 로드 오류
0
108
2
ERD 그리기?
0
86
2
강의내용이랑 책페이지, 문제번호롱 아예달라요 ...
0
120
3
sales 데이터 모델 오류
0
77
2
mac sql server 연결
0
79
1
커리큘럼 116번 오류 질문입니당
0
52
0
환경설정 오류 Invalid connection string format, a valid format is: "host:port:sid"
0
158
2
환경설정오류 Invalid connection string format, a valid format is: "host:port:sid"
0
145
1
노랭이 책 필수 인가요?
0
158
2
Dbeaver 설정이 안되요
0
126
3





