다음 SQL 이 [결과]를 내도록 ㉠에 들어갈 조건으로 옳은 것은?[국… | [SQLD] SQL 개발자 기출유형 모의고사 4회 상세 페이지
1[SQLD] SQL 개발자 기출유형 모의고사 4회
다음 SQL 이 [결과]를 내도록 ㉠에 들어갈 조건으로 옳은 것은?[국내예약]
| 예약번호 | 운임 |
|---|---|
| 101 | 120 |
| 102 | 350 |
| 103 | 480 |
| 104 | 600 |
| 105 | 300 |
[국제예약]
| 예약번호 | 운임 |
|---|---|
| 201 | 300 |
| 202 | 450 |
| 203 | 520 |
SELECT D.예약번호, D.운임
FROM 국내예약 D
WHERE EXISTS (SELECT 1
FROM 국제예약 I
WHERE ( ㉠ ))
ORDER BY D.예약번호;[결과]
| 예약번호 | 운임 |
|---|---|
| 102 | 350 |
| 103 | 480 |
| 104 | 600 |
1
D.운임 >= I.운임
2
I.운임 = D.운임
3
I.운임 < D.운임
4
I.운임 - D.운임 > 0
해설
국제 운임 중 하나라도 자기 운임 미만인 것이 있으면 참이 되므로, 이 EXISTS 는
D.운임 > ANY와 같은 뜻의 최솟값 300 초과 조건이다.350·480·600 은 300 을 넘어 남고, 120 은 모든 국제 운임 미만이며 300 은 300 초과가 아니라서 빠진다.
- D.운임 >= I.운임 은 >= ANY 와 같아 운임 300인 예약 105까지 들어온다.
- I.운임 - D.운임 > 0 은 520 미만인 국내 운임 네 건을 고르는 < ANY 와 같다.
- 같음 조건은 IN 과 같아 운임 300인 예약 105 한 행만 나온다.
오류나 개정된 내용이 보이면 알려주세요