사이버대학을 다니면서 이번에 오라클 기말고사를 치루게되었는데요.
오답처리된 문제중에 도저히 이해가되질않고 억울한거같아
이의신청하려는 문제가있습니다.
한번 봐주시고 의견달아주시면 감사하겠습니다.
[보기]
SELECT employee_id, last_name, salary
FROM employees
WHERE department_id = 50
ORDER BY salary
UNION ALL
SELECT manager_id, last_name, salary
FROM employees
WHERE department_id = 80
ORDER BY salary DESC;
===============================================================
1.ORDER BY 절이 두 번 사용되었다.
2.같은 WHERE 절의 조건을 두 번 사용하였다.
3.첫 번째 쿼리에 ORDER BY 절을 사용하였다.
4.employees테이블이 두 쿼리에 동시에 사용되었다.
5.첫 번째 쿼리와 두 번째 쿼리의 SELECT list 컬러명이 다르다.
===============================================================
보자마자 1번을 찍었습니다.
union all 사용시 order by 절은 쿼리의 맨 마지막에 와야된다는 지식을 갖고있기에
1번을 찍고 바로넘겼습니다.
그런데 오답으로 처리되었습니다.
정답은 3번이였습니다.
물론 3번이 맞는건 이해가되는데 1번도 정답 아닌가요?
여러분들의 생각은 어떠신가요.
좀 애매하긴 하네요
문제가 아래처럼 되어있었다면 1번을 고르진 않으셨겠죠?
SELECT employee_id, last_name, salary
FROM
(
SELECT employee_id, last_name, salary
FROM employees
WHERE department_id = 50
ORDER BY salary
)
UNION ALL
SELECT manager_id, last_name, salary
FROM employees
WHERE department_id = 80
ORDER BY salary DESC;
개인적인 의견으로는 문제 출제하신분의 설명이 명확하지 않은 것 같긴합니다.
어거지 좀 부려보자면 3번 문항에서 '첫번째 쿼리'라는것도 잘못된 표현같거든요.
union all 로 묶였으니 전체가 하나의 쿼리잖아요?
출제자의 의도는 알겠으나.. 아무튼 좀 애매하네요;;