查询选修人数超过5人的课程的教师姓名 - SQL优化指南
{"title":"查询选修人数超过5人的课程的教师姓名 - SQL优化指南","description":"本文提供了解决SQL查询中无法直接在AND条件中引用窗口函数结果的方案。以查询选修人数超过5人的课程的教师姓名为例,展示了使用CTE(公共表达式)优化查询的步骤和方法。","keywords":"SQL, 窗口函数, 窗口函数结果, AND条件, 子查询, CTE, 公共表达式, SQL优化, 数据库查询, 教师姓名, 选修人数","content":"这个查询语句有一个错误,即在AND条件中使用了coun>5。在AND条件中不能直接引用窗口函数的结果,需要使用子查询或者CTE(公共表达式)来引用窗口函数的结果。下面是修改后的查询语句:\n\nWITH course_counts AS (\n SELECT t.tname, COUNT(s.cno) OVER (PARTITION BY s.cno) AS coun\n FROM t_scores s\n JOIN t_courses c ON s.cno = c.cno\n JOIN t_teachers t ON c.tno = t.tno\n)\nSELECT tname \nFROM course_counts\nWHERE coun > 5;"}
原文地址: https://www.cveoy.top/t/topic/pxhW 著作权归作者所有。请勿转载和采集!