Which SQL query gets the required output?
A) SELECT e.last_name, e.hire_date, NVL(m.last_name, ‘No Manager‘) Manager
FROM employees e RIGHT OUTER JOIN employees m
ON (e. manager_id = m.employee_id);
B) SELECT e.last_name, e.hire_date, NVL(m.last_name, ‘No Manager‘) Manager
FROM employees e JOIN employees m
ON (e.manager_id = m.employee_id);
C) SELECT e.last_name, e.hire_date, NVL(m.last_name, ‘No Manager‘) Manager
FROM employees e LEFT OUTER JOIN employees m
ON (e.manager_id = m.employee_id);
D) SELECT e.last_name, e.hire_date, NVL(m.last_name, ‘No Manager‘) Manager
FROM employees e NATURAL JOIN employees m
ON (e.manager_id = m.employee_id);
Answer:C
(解析:因为员工 king 是没有经理的,但是也要显示出来,因为是在经理号这边缺少数据,所以这里要用
左外连接。注意左右的区别:
SELECT e.last_name, e.hire_date, NVL(m.last_name, ‘No Manager‘) Manager
FROM employees e , employees m
WHERE e.manager_id = m.employee_id(+);
)
【OCP-12c】CUUG最新考试原题整理及答案(071-10)
原文:http://blog.51cto.com/13854012/2350482