Oracle 기준으로 다음 SQL 의 결과로 옳은 것은?[대출]회원번호… | [SQLD] SQL 개발자 기출유형 모의고사 5회 상세 페이지
1[SQLD] SQL 개발자 기출유형 모의고사 5회
Oracle 기준으로 다음 SQL 의 결과로 옳은 것은?[대출]
| 회원번호 | 대출월 |
|---|---|
| 1 | 2 |
| 1 | 3 |
| 2 | 2 |
| 2 | 2 |
| 3 | 3 |
| 4 | 2 |
| 5 | 3 |
[연체]
| 회원번호 |
|---|
| 2 |
| 5 |
| 6 |
SELECT 회원번호 FROM 대출 WHERE 대출월 = 2 UNION SELECT 회원번호 FROM 대출 WHERE 대출월 = 3 MINUS SELECT 회원번호 FROM 연체 ORDER BY 1;
1
| 회원번호 |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
2
| 회원번호 |
|---|
| 1 |
| 3 |
| 4 |
| 6 |
3
| 회원번호 |
|---|
| 1 |
| 1 |
| 3 |
| 4 |
4
| 회원번호 |
|---|
| 1 |
| 3 |
| 4 |
해설
Oracle 의 집합 연산자는 우선순위가 같아 위에서부터 차례로 처리되므로, 2월·3월 회원의 UNION {1,2,3,4,5} 에서 연체 회원 {2,5,6} 을 MINUS 한 {1,3,4} 가 결과이다.
UNION 단계에서 2월에 두 번 빌린 회원번호 2 와 두 달 모두 빌린 회원번호 1 은 한 행으로 합쳐지고, 연체에만 있는 6 은 차집합에 영향을 주지 않는다.
- {1,2,3,4} 는 MINUS 를 먼저 계산해 3월 쪽에서만 연체 회원을 뺀 결과이다.
- 회원번호 1 이 두 번 나온 표는 UNION 이 중복을 남긴다고 본 경우이다.
- 6 이 포함된 표는 MINUS 를 양쪽 차이를 모두 남기는 연산으로 오해한 결과이다.
오류나 개정된 내용이 보이면 알려주세요
이어서 풀어보기
[SQLD] SQL 개발자 기출유형 모의고사 5회 50문항 이어서 보기문제·정답·해설을 한 페이지에서 이어서 볼 수 있어요비슷한 기출
- 다음sql결과에알맞는쿼리을작성하시오. selectname,scorefrom성적(1)by(2)(3) 1.order 2.score 3.desc2022년 정보처리기사실기 1회차
- 다음sql결과에알맞는답을작성하시오. [table] selectcount(col2) fromtable wherecol1in(2,3)orcol2in(3,5); 42022년 정보처리기사실기 2회차
- sql문에서괄호안에알맞은답안을작성하시오. ('이름'이란컬럼에'이'로시작하는문자열을'내림차순'하는쿼리결과내용입니다.) select....from...where이름l2021년 정보처리기사실기 2회차