청구가 한 건도 없는 계약을 찾는 다음 SQL 이 0행을 반환했다. 청… | [SQLD] SQL 개발자 기출유형 모의고사 10회 상세 페이지
1[SQLD] SQL 개발자 기출유형 모의고사 10회
청구가 한 건도 없는 계약을 찾는 다음 SQL 이 0행을 반환했다. 청구.계약번호에 NULL 이 있기 때문일 때, 해결 방법으로 적절하지 않은 것은?SELECT 계약번호 FROM 계약 WHERE 계약번호 NOT IN (SELECT 계약번호 FROM 청구);
1
<> ALL 로 바꾼다
2
NOT EXISTS 로 바꾼다
3
서브쿼리에 IS NOT NULL 을 건다
4
LEFT JOIN 후 IS NULL 로 거른다
해설
<> ALL 은 NOT IN 과 같은 뜻이라 서브쿼리 결과에 NULL 이 있으면 비교가 UNKNOWN 이 되어 여전히 0행이다.
NOT IN (a, NULL) 은 x <> a AND x <> NULL 로 풀리는데, 뒤쪽이 항상 UNKNOWN 이라 전체가 참이 될 수 없다.
- 서브쿼리에서 NULL 을 걸러 내면 비교 대상에 NULL 이 없어 정상 동작한다.
- NOT EXISTS 는 행 존재 여부만 보므로 NULL 의 영향을 받지 않는다.
- LEFT JOIN 후 청구 쪽 키가 NULL 인 행만 고르면 청구 없는 계약이 남는다.
오류나 개정된 내용이 보이면 알려주세요
이어서 풀어보기
[SQLD] SQL 개발자 기출유형 모의고사 10회 50문항 이어서 보기문제·정답·해설을 한 페이지에서 이어서 볼 수 있어요비슷한 기출
- 다음sql결과에알맞는답을작성하시오. [table] selectcount(col2) fromtable wherecol1in(2,3)orcol2in(3,5); 42022년 정보처리기사실기 2회차
- 결과값이아래와같을때sql질의로옳은것은? <imgwidth="300"src= {"answer":1,"content":[{"content":"21년-1회차-정보처리기사-필기
- sql문에서괄호안에알맞은답안을작성하시오. ('이름'이란컬럼에'이'로시작하는문자열을'내림차순'하는쿼리결과내용입니다.) select....from...where이름l2021년 정보처리기사실기 2회차