一个比较简单的select语句,不知道错哪了

来源:百度知道 编辑:UC知道 时间:2024/09/23 17:22:21
SELECT AVG(salary)
FROM (SELECT * FROM employInfor,positionInfro WHERE employInfor.position=positionInfro.position)
运行后被告诉:
Msg 102, Level 15, State 1, Line 2
')' 附近有语法错误。

其中内存嵌套的语句:
SELECT * FROM employInfor,positionInfro WHERE employInfor.position=positionInfro.position
直接运行是能成功的,结果如图

SELECT AVG(salary)
FROM (SELECT * FROM employInfor,positionInfro WHERE employInfor.position=positionInfro.position) a

在from 后,用select子查询,
在sql server必须加别名
oracle不用

这个不是别名的问题...
我建议你SELECT * FROM employInfor,positionInfro WHERE employInfor.position=positionInfro.position
这个句子不要用* 扎扎实实的用列名

SELECT AVG(salary)
FROM (SELECT * FROM employInfor,positionInfro WHERE employInfor.position=positionInfro.position) t

--加个别名就好了