본문 바로가기
SQL 문제 풀기/2. SQLD 기출 : 2024.3.01~2024.4.25

<SQLD 21> NULL 값에 대한 이해

by HYEHYE_SON 2024. 3. 21.
728x90

매일 SQLD 기출 문제 풀기 챌린지


 


문제 21.

다음 주어진 테이블에서 해당 SQL문을 실행한 결과로 알맞은 것은?

 

[ TEST17 테이블 ]

COL1 COL2
NULL A
1 B
2 C
3 D
4 E

 

 

 

SQL >

SELECT *
    FROM test17
    WHERE col1 IN(1,2,null);

 

 


① 

COL1 COL2
1 B
2 C

 

 


COL1 COL2
2 B
2 C

 

 

 


COL1 COL2
1 B
2 C
3 D
4 E

 

 


COL1 COL2
NULL A
1 B
2 C
3 D
4 E

 

 

 

 

 

 


해설해보기

SQL 에서 null은 알 수 없는 값입니다.
따라서 null은 다른 값과 비교할 수 없기 때문에
in에 null값을 넣어주어도 null 인 행을 반환할 수 없습니다.

만약에 null 인 값에 대한 조건을 싶다면, 
IS NULL 혹은  IS NOT NULL 을 사용해주어야 합니다.

따라서 위의 문제에 대한 정답은 
COL1이 1 또는 2인 경우만 반환되기 때문에 

① 이 정답입니다. 

만약 NULL 도 출력하고 싶다면, 


WHERE col1 in(1,2) or col1 is null 

위와 같이 조건을 주어야 합니다.

 

 

반응형