다음 SQL 의 결과 행 수와 마지막 행의 매출액을 순서대로 나열한 것… | [SQLD] SQL 개발자 기출유형 모의고사 3회 상세 페이지
1[SQLD] SQL 개발자 기출유형 모의고사 3회
다음 SQL 의 결과 행 수와 마지막 행의 매출액을 순서대로 나열한 것은?[본점실적]
| 직원명 | 금액 |
|---|---|
| 김하늘 | 300 |
| 이서진 | 150 |
| 박구름 | 90 |
| 최별 | 200 |
[지점실적]
| 사원명 | 실적 |
|---|---|
| 이서진 | 150 |
| 정노을 | 250 |
| 한빛 | 80 |
SELECT 직원명 AS 이름, 금액 AS 매출액 FROM 본점실적 WHERE 금액 >= 100 UNION SELECT 사원명, 실적 FROM 지점실적 ORDER BY 매출액 DESC;
1
6, 80
2
5, 80
3
6, 90
4
4, 150
해설
WHERE 는 첫 SELECT 에만 걸려 박구름만 빠지고, UNION 이 중복된 이서진 150 을 한 번만 남겨 5행이며 마지막 행은 한빛 80이다.
ORDER BY 는 집합 연산 맨 끝에 한 번만 쓰며 전체 결과에 적용되고, 열 이름은 첫 SELECT 의 별칭을 따르므로 매출액으로 정렬할 수 있다.
- 6행은 UNION ALL 처럼 중복 행을 남긴 경우이다.
- 4행·150 은 WHERE 가 두 번째 SELECT 에도 걸린다고 본 경우이다.
- 6행·90 은 WHERE 조건을 무시해 박구름까지 남긴 경우이다.
오류나 개정된 내용이 보이면 알려주세요