sql - 如何处理Oracle 19c 中的“缺少右括号”?
问题描述
我在Oracle 19c 数据库中写了一段代码,用于提取收入超过各自部门平均工资但查询显示“缺少右括号”的员工的工资。任何人都可以帮我解决这个问题,比如错误在哪里以及是什么?
select ename
from emp
where sal > (select round(avg(sal)) as avg_sal, deptno
from emp
group by deptno
order by 2);
解决方案
您可以使用这些查询来完成工作。
select ename
from emp e1
where sal > (select round(avg(sal)) as avg_sal
from emp e2
where e2.deptno = e1.deptno
);
或者
select e1.ename
from emp e1,
(
select round(avg(sal)) as avg_sal, deptno
from emp
group by deptno
) e2
where e1.deptno = e2.deptno
and e1.sal > avg_sal
;
推荐阅读
- swift - Swift Storyboard 外观更改在运行时不会更新
- mysql - SQLSTATE[HY000]:一般错误:1449 用户指定为定义者
- node.js - 为什么我的 PDF 没有间歇性地保存在我的 Node 函数中?
- node.js - 使用 MongoDB Atlas 和 mongoose 进行慢速查询
- sql-server - 如何使用 Django 在不刷新的情况下更改页面数据
- javascript - 尝试遍历对象并将结果附加到 DOM 元素以创建网格
- oracle - 获取 java.sql.SQLRecoverableException: IO Error: General SSLEngine problem when using Talend with Autonomous Data Warehouse
- javascript - 使用 paper.js 的角度渐变 SVG
- html - 如何删除我的部分标签顶部的空间
- vue.js - 在 CPanel 上部署 Nuxtjs