我在尝试运行此查询时遇到语义错误,无法看到任何错误。
找到薪水最低的员工的ssn
select ssn from employee
where salary < ALL
( select salary from employee);
答案 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);