上篇介绍了几种避免对数据重复扫描的sql写法,本篇介绍利用复杂子查询with as来提高sql性能。先看个例子:WITH dept_costs AS (SELECT d.department_name, SUM(e.salary) AS dept_total FROM employees e JOIN departments dON e.department_id = d.department_id GROUP BY d.department_name),avg_cost AS (SELECT SUM(dept_total)/COUNT(*) AS dept_avg FROM dept_costs)SELECT * FROM dept_costs WHERE dept_total >(SELECT dept_avg FROM avg_cost)ORDER BY department_name;在这个例子中,dept_costs相当于一个view,与view不同的是,...
Link URL:
http://luw.itpub.net/post/43737/531119
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/18474/viewspace-767452/
,如需转载,请注明出处,否则将追究法律责任。