Oracle 甲骨文作业-我被难住了
这是我这一年甲骨文作业的最后一个问题,我甚至不知道从哪里开始。这一定是一个糟糕的大脑日 有人能帮我吗 使用WITH子句编写SELECT语句,列出最高工资超过整个公司最高工资一半的职位的职位名称。将子查询命名为MAX\u CALC\u SAL。命名结果作业标题和作业总计中的列,并按降序对作业总计中的结果进行排序。 提示:检查作业表。您需要加入JOBS和EMPLOYEES以显示职务标题 谢谢 这就是我目前所拥有的Oracle 甲骨文作业-我被难住了,oracle,oracle11g,Oracle,Oracle11g,这是我这一年甲骨文作业的最后一个问题,我甚至不知道从哪里开始。这一定是一个糟糕的大脑日 有人能帮我吗 使用WITH子句编写SELECT语句,列出最高工资超过整个公司最高工资一半的职位的职位名称。将子查询命名为MAX\u CALC\u SAL。命名结果作业标题和作业总计中的列,并按降序对作业总计中的结果进行排序。 提示:检查作业表。您需要加入JOBS和EMPLOYEES以显示职务标题 谢谢 这就是我目前所拥有的 WITH MAX_CALC_SAL AS ( SELECT e.salary
WITH MAX_CALC_SAL AS (
SELECT e.salary, SUM(e.salary) AS tot_salary
FROM employees e JOIN jobs j
ON e.job_id = j.job_title
GROUP BY j.job_title
),
avg_cost AS (
SELECT SUM(e.salary)/COUNT(*) AS avg_salary
FROM e.employee
)
SELECT *
FROM e.employee
WHERE avg_salary > (SELECT max_salary / 2
FROM j.jobs)
ORDER BY job_total
使用with子句定义的名称不会自动出现在最终查询中。它们的工作方式类似于派生表,因此您必须从中进行选择,或与之联接,以获取它们的数据
WITH my_with_table AS (SELECT 9 AS X FROM DUAL)
SELECT X FROM my_with_table;
您是否正在寻找类似于:
WITH max_calc_sal
AS (SELECT job_id,
j.job_title,
MAX(e.salary) AS job_total
FROM jobs j
INNER JOIN employees e
USING (job_id)
GROUP BY job_id,
j.job_title)
SELECT job_title,
job_total
FROM max_calc_sal
WHERE job_total > (0.5 * SELECT MAX(job_total)
FROM max_calc_sal)
ORDER BY job_total DESC;
问题的哪些部分让你困惑?到目前为止,你得到了什么?更重要的是:问题出在哪里?@APC我不确定我所做的是否正确。