我试图列出薪水大于平均工资的所有导师姓名,并显示薪水大于的水平

时间:2017-09-04 22:47:30

标签: sql

给我带来最多麻烦的部分是显示我不知道该怎么做的工资多少呢

这是我给家庭教师的薪水写下来的代码,这个代码大于平均需要显示多少的代码:

SELECT tName, Salary
FROM Tutor
WHERE salary > (SELECT avg(Salary) FROM Tutor;

2 个答案:

答案 0 :(得分:0)

你很接近 - 一种可能的语法是:

SELECT tName, Salary - ((SELECT avg(Salary) FROM Tutor) as SalaryDiff
FROM Tutor
WHERE Salary > (SELECT avg(Salary) FROM Tutor;

根据您的SQL方言,可能有更好的方法来执行此操作! See this question替代方法。

答案 1 :(得分:0)

另一种方法是使用变量来避免可能效率低下的查询执行计划:

DECLARE @avgSalary money
SELECT @avgSalary = AVG( salary ) FROM Tutor

SELECT
    tName,
    salary,
    @avgSalary,
    salary - @avgSalary AS salaryDiff
FROM
    Tutor
WHERE
    salary > @avgSalary