我有2张桌子
一个名为employee的表,其中包含以下字段:Id,fname,lname 另一个名为Salary的表有以下字段:Id,salary。 表中包含值
我要做的是显示姓氏为“史密斯”的员工的平均工资。
我有这个问题:
SELECT AVG(Salary) FROM Salary
UNION
SELECT * FROM Employee WHERE lname = 'smith'
但我认为它不会起作用。
答案 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