Pular para o conteúdo

Fóruns SQL e PL/SQL SQL com “with” SQL com “with”

#83933
Anônimo

    Olá !!!

    Esse comando With é como você tivesse colocado um “Apelido” em uma SubQuerie.

    Veja exemplo abaixo:
    – Primeiro coloquei o nome de dept_costs no primeiro SubSelect.
    – Depois eu coloquei o nome de avg_cost no segundo SubSelect
    – Por fim eu fiz um Select normal utilizando esses dois SubSelect acima porém como eles fossem tabelas.

    WITH
    dept_costs AS (
    SELECT department_name, SUM(salary) dept_total
    FROM employees e, departments d
    WHERE e.department_id = d.department_id
    GROUP BY department_name),
    avg_cost AS (
    SELECT SUM(dept_total)/COUNT(*) avg
    FROM dept_costs)
    SELECT * FROM dept_costs
    WHERE dept_total >
    (SELECT avg FROM avg_cost)
    ORDER BY department_name;

    Abrax,

    Leandro