给学生复习SQL语句的时候,有几个这样的题目:
1 找所有人的平均工资。
2 找每个每个部门的平均工资。
3 找工资最高的人。
4 找平均工资最高的部门。
个别同学做的比较快,就增加了道题:找出工资与任何其他人工资都不相同的人的信息。
学生给出的答案:
select * from employees e1
where salary not in
(
select salary from employees e2
where e1.employees_id !=e2.employees_id
)
另外一个参考答案:
Select * from employees
Where salary in
(
Select salary from
(
Select salary,count(salary) from employees
Group by salary
Having count(salary) = 1
)
)
后者看起来麻烦一些,但是在某些情况下(例如工资的种类不是很多的时候)性能也许能好一些。