使用MySQL找出平均值

时间:2015-10-22 11:19:15

标签: mysql database

我有2张桌子

一个名为employee的表,其中包含以下字段:Id,fname,lname 另一个名为Salary的表有以下字段:Id,salary。 表中包含值

我要做的是显示姓氏为“史密斯”的员工的平均工资。

我有这个问题:

SELECT AVG(Salary) FROM Salary 
UNION 
SELECT * FROM Employee WHERE lname = 'smith' 

但我认为它不会起作用。

2 个答案:

答案 0 :(得分:1)

也许这个:

SELECT lname, AVG(Salary) 
FROM Salary 
JOIN employee ON Salary.Id = employee.Id 
WHERE lname= 'smith' 
GROUP BY employee.lname;

如果您要删除where子句,我已添加了该组。

答案 1 :(得分:0)

可以通过省略UNION和JOIN操作来编写答案的另一种替代方法。表ALIASES已被用于提高可读性和缩短SQL语句。

SELECT e.Lname,avg(s.Salary)
FROM Employee e,Salary s
WHERE e.Id=s.Id
AND e.lname='Smith'
GROUP BY e.Lname;

您可以在以下链接中阅读有关别名的更多信息: http://www.techonthenet.com/mysql/alias.php http://www.w3schools.com/sql/sql_alias.asp