注册 登录
编程论坛 SQL Server论坛

這句SQL怎麽理解

w327555162 发布于 2011-12-12 10:58, 638 次点击
SELECT @st_name=student.sname,@st_avg=AVG(score.degree)
FROM student,score
是不是要@st_name=student.sname,@st_avg=AVG(score.degree)所有記錄
6 回复
#2
png2011-12-12 22:18
应该还有一句 WHERE语句, 类似 - WHERE student.id = score.id and student.id = '12345'.

SELECT     student.sname,AVG(score.degree)
FROM       student,score
WHERE      student.id = score.id
           and student.id = '12345'
意思大概是查找ID为12345同学的平均分数.

@st_name 和 @st_avg 是变量名.

SELECT     @st_name=student.sname,@st_avg=AVG(score.degree)
FROM       student,score
WHERE      student.id = score.id
           and student.id = '12345'
意思是查找ID为12345同学的平均分数, 然后将名称及分数分别赋予@st_name和@st_avg.




#3
zhouixi2011-12-14 14:17
回复 2楼 png
赞同
#4
foolboy2011-12-16 16:08
回复 2楼 png
赞同。
#5
pxr2011-12-16 16:46
赞同 2楼 png
DECLARE 中声明变量 后 对变量的赋值
#6
wing77422011-12-16 16:51
@st_name=student.sname,@st_avg=AVG(score.degree)
select给变量赋值
不好理解的话 就想象成AS别名
#7
panxingren2011-12-22 07:56
赞同 2楼 png
1