deptno是部门编号,sal是工资,查询的结果多了一个错误信息,但是这个代码不是求比部门平均工资高的员工信息吗?上面的是问题,下面是用表关联做的正确的
exists查比部门平均工资高的员工哪里出问题了
deptno是部门编号,sal是工资,查询的结果多了一个错误信息,但是这个代码不是求比部门平均工资高的员工信息吗?上面的是问题,下面是用表关联做的正确的
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- 一轮明月照丘壑 2024-10-03 23:03关注
以下回复参考:皆我百晓生、券券喵儿等免费微信小程序作答:
从您提供的内容来看,似乎存在一些SQL查询语句的问题和混淆。您想查询工资比部门平均工资高的员工,正确的查询方式应该是使用内联子查询(inline subquery)或者连接(join)的方式来实现。以下是修正后的查询语句:
方法一:使用内联子查询(Inline Subquery)
SELECT e.* FROM emp e WHERE e.sal > (SELECT AVG(sal) FROM emp WHERE deptno = e.deptno);
方法二:使用连接(Join)
您的第二个查询语句几乎是正确的,只需要稍作调整:
SELECT e.* FROM emp e JOIN (SELECT deptno, AVG(sal) AS avg_sal FROM emp GROUP BY deptno) t ON e.deptno = t.deptno WHERE e.sal > t.avg_sal;
这两种方法都会返回工资高于其所在部门平均工资的所有员工的记录。您的原始查询语句中的
exists
子句和计数函数count(1)
在这里并不适用,因为我们不需要检查存在的记录数,而是需要比较员工的工资和部门的平均工资。请尝试使用这些修正后的查询语句,并确保您的数据库表结构和数据正确无误。如果仍然遇到问题,请提供更多详细信息,以便进一步诊断问题所在。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥100 如何寻找到黑客帮助,愿意付丰厚的酬劳
- ¥15 java代码写在记事本上后在cmd上运行时无报错但又没生成文件
- ¥15 关于#python#的问题:在跑ldsc数据整理的时候一直抱这种错误,要么--out识别不了参数,要么--merge-alleles识别不了参数(操作系统-linux)
- ¥15 PPOCRLabel
- ¥15 混合键合键合机对准标识
- ¥100 现在不懂的是如何将当前的相机中的照片,作为纹理贴图,映射到扫描出的模型上
- ¥15 魔霸ROG7 pro,win11.息屏后会显示黑屏,如图,如何解决?(关键词-重新启动)
- ¥15 有没有人知道这是哪里出了问题啊?要怎么改呀?
- ¥200 C++表格文件处理-悬赏
- ¥15 Windows Server2016本地登录失败