在SQL Server 2008中,设有如下定义的内联表值函数: CREATE FUNCTION dbo.f_Stulnfo(@dept varchar(20)) RETUR NS TABLE AS RETURN(SELECT S.Dept AS系名,CO

admin2021-05-07  29

问题 在SQL Server 2008中,设有如下定义的内联表值函数:
CREATE FUNCTION dbo.f_Stulnfo(@dept varchar(20))
RETUR NS TABLE AS
RETURN(SELECT S.Dept AS系名,COUNT(*)AS人数,AVG(SC.Grade)AS平均成绩
FROM Student S JOIN SC ON S.Sno=SC.Sno
WHERE S.Dept=@dept GROUP BYS.Dept)
有下列利用该函数的查询语句:
Ⅰ.SELECT*FROM dbo.f_StuInfo(ˊCSˊ)
Ⅱ.SELECT Dept,COUNT(*),AVG(SC.Grade)FROM dbo.f_StuInfo(ˊCSˊ)
Ⅲ.SELECT人数,平均成绩FROM dbo.f_StuInfo(ˊCSˊ)
Ⅳ.SELECT*FROM dbo.f_StuInfo(ˊCSˊ)WHERE人数>=50
上述语句中能正确执行的是(    )。

选项 A、仅Ⅰ和Ⅱ
B、仅Ⅰ和Ⅲ
C、仅Ⅰ和Ⅳ
D、仅Ⅰ、Ⅲ和Ⅳ

答案D

解析 Ⅱ中Dept前缺少表名,正确格式是s.Dept,Ⅱ错误,Ⅰ、Ⅲ和Ⅳ均正确。故答案为D项。
转载请注明原文地址:https://kaotiyun.com/show/kqlZ777K
0

最新回复(0)