서브쿼리(Subquery)의 동작으로 적절하지 않은 것은? | [SQLD] SQL 개발자 기출유형 모의고사 3회 상세 페이지
1[SQLD] SQL 개발자 기출유형 모의고사 3회
서브쿼리(Subquery)의 동작으로 적절하지 않은 것은?
1
다중행 결과를 = 로 비교하면 오류다
2
HAVING 절에도 서브쿼리를 쓸 수 있다
3
결과가 0행이면 반드시 오류가 발생한다
4
EXISTS 는 행의 존재 여부만 따진다
해설
서브쿼리 결과가 0행이어도 오류가 나지 않으며, 비교 대상이 없으니 조건을 만족하는 행이 없을 뿐이고 스칼라 서브쿼리는 NULL 로 처리된다.
오류는 단일행 연산자로 비교하는 서브쿼리가 두 행 이상을 돌려줄 때 생긴다.
- EXISTS 는 서브쿼리의 SELECT 값과 무관하게 행이 하나라도 있으면 참이다.
- = 같은 단일행 연산자에 여러 행이 오면 오류가 나므로 IN 등을 써야 한다.
- HAVING 절에 서브쿼리를 두어 그룹 집계 결과와 비교할 수 있다.
오류나 개정된 내용이 보이면 알려주세요