给我带来最多麻烦的部分是显示我不知道该怎么做的工资多少呢
这是我给家庭教师的薪水写下来的代码,这个代码大于平均需要显示多少的代码:
SELECT tName, Salary
FROM Tutor
WHERE salary > (SELECT avg(Salary) FROM Tutor;
答案 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