다음 결과를 얻기 위해 ( ㉠ )에 들어갈 연산자로 옳은 것은?[도서]… | [SQLD] SQL 개발자 기출유형 모의고사 5회 상세 페이지

1[SQLD] SQL 개발자 기출유형 모의고사 5회
다음 결과를 얻기 위해 ( ㉠ )에 들어갈 연산자로 옳은 것은?

[도서]

도서번호분류가격
1과학18000
2과학25000
3과학(null)
4문학15000
5문학22000
6역사30000
7역사18000
SELECT 도서번호, 분류, 가격
  FROM 도서
 WHERE 분류 IN ('문학', '역사')
   AND 가격 ( ㉠ ) (SELECT 가격
                     FROM 도서
                    WHERE 분류 = '과학')
 ORDER BY 도서번호;

[결과]

도서번호분류가격
5문학22000
6역사30000
1
IN
2
> ALL
3
> ANY
4
NOT IN
해설

결과는 과학 도서 가격 중 어느 하나보다만 커도 참이 되는 > ANY 조건, 즉 최솟값 18000 을 넘는 행이다.

ANY 는 서브쿼리의 NULL 을 무시하고 하나라도 참이면 통과하므로 22000·30000 은 남고 18000 은 같아서 빠진다.

  • > ALL 은 서브쿼리에 NULL 이 있어 모든 비교가 참이 될 수 없으므로 0행이다.
  • IN 은 값이 같은 행만 고르므로 가격이 18000 인 도서번호 7 만 나온다.
  • NOT IN 도 서브쿼리 결과에 NULL 이 있어 모든 비교가 UNKNOWN 이 되므로 0행이다.

오류나 개정된 내용이 보이면 알려주세요

이어서 풀어보기

[SQLD] SQL 개발자 기출유형 모의고사 5회 50문항 이어서 보기문제·정답·해설을 한 페이지에서 이어서 볼 수 있어요SQLD SQL 개발자 실전 모의고사 암기장 전체 보기