› Fóruns › SQL e PL/SQL › SQL com “with” › SQL com “with”
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