SELECT ename,sal FROM emp WHERE sal<(SELECT min(sal) FROM emp)+1000; 是什么意思?

Posted zhangjin1120

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SELECT ename,sal FROM emp WHERE sal<(SELECT min(sal) FROM emp)+1000; 是什么意思?相关的知识,希望对你有一定的参考价值。

某次笔试原题目:

以下语句的作用是?

SELECT ename,sal FROM emp WHERE sal<(SELECT min(sal) FROM emp)+1000;

A. 显示工资低于1000元的雇员信息
B. 将雇员工资小于1000元的工资增加1000后显示
C. 显示超过最低工资1000元的雇员信息
D. 显示不超过最低工资1000元的雇员信息

先说答案:选D。但是题目不严谨,不超过的范围不一定是1000,可能是2000.
实践测试,看看到底查询的是啥?
第一次测试结果如下,查询的是工资低于2000的员工信息。

完整数据查询数据

第二次测试结果如下,查询的是工资低于1000的员工信息。

完整数据查询数据

所以,上面的SQL语句的意思是:先查询所有员工最低工资,再加上1000,得到sum,然后再查询所有工资低于sum的雇员信息

以上是关于SELECT ename,sal FROM emp WHERE sal<(SELECT min(sal) FROM emp)+1000; 是什么意思?的主要内容,如果未能解决你的问题,请参考以下文章

Oracle系列:order by子句

获取数据库分组后的最大值

oracle 变量练习

MySQL 练习

Oracle_复杂查询综合

inner join left join right join 和full join的区别