当我尝试运行此查询时,我收到语义错误,无法看到任何错误

时间:2013-10-10 18:17:38

标签: sql ms-access

我在尝试运行此查询时遇到语义错误,无法看到任何错误。

找到薪水最低的员工的ssn

select ssn from employee

where salary < ALL

( select salary from employee);

1 个答案:

答案 0 :(得分:1)

你试图找到一份低于所有其他工资的薪水。这是行不通的,因为最低工资本身就在表格中。当我们达到最低工资时,它会与表中的所有其他工资进行比较。但是,当我们将最低工资与自身进行比较时,比较<将失败。

您需要将<更改为<=

SELECT ssn FROM employee
WHERE salary <= ALL (SELECT salary FROM employee);

这将返回所有具有最低工资的员工的ssn。等价地,

SELECT ssn FROM employee
WHERE salary = (SELECT MIN(salary) FROM employee);