在表Students(学号,姓名,性别,出生年月)中,要统计学生的人数和平均年龄,应使用的语句是SELECT COUNT(*) AS 人数,AVG(YEAR(DATE())-YEAR(出生年月)) AS 平均年龄 FROM Students。()
A.正确
B.错误
A.正确
B.错误
A.并
B.交
C.乘积和投影
D.连接和投影
A.并
B.交
C.乘积和投影
D.连接和投影
A选择
B连接
C投影
D选择和投影
A.create age from ST
B.alterstable ST drop age
C.update ST age
D.alter table ST drop column age
A.SELECT AVG(成绩) FROM 选课WHERE 姓名=“刘明”
B.SELECT AVG(成绩) FROM学生,选课WHERE 姓名=“刘明”
C.SELECT AVG(成绩) FROM学生,选课WHERE学生.姓名=“刘明”
D.SELECT AVG(成绩) FROM学生,选课WHERE学生.学号=选课.学号 AND姓名=“刘明”
数据库中的数据表结构如下:
stu_info(stu_id, name, birthday, sex, address, mark, major, sdept)
stu_id-学号
name-姓名
birthday-出生日期
sex-性别
address-居住地址
mark-成绩
major-专业
sdept-所在院系
写出Transact-SQL语句,查询所有同学的年龄。
给定三个表学生表S,课程表C和学生选课表SC,它们的结构分别如下:
S(S#,SN,SEX,AGE,DEPT)
C(C#,CN)
SC(S#,C#,GRADE)
其中S#为学号,SN为姓名,SEX为性别,AGE为年龄,DEPT为系别,C#为课程号,CN为课程名,GRADE为成绩。对表SC建立如下视图:CREATE VIEW S_GRADE(S#,C_NUM,AVG_GRADE)AS SELECT S#,COUNT(C#),AVG(GRADE)FROM SCGROUP BY S#;判断下面查询是否允许执行,如允许,写出转换到基本表SC上的操作。SELECT S#,C_NUMFROM S_GRADEWHERE AVG_GRADE80()。
A、不允许查询,因为视图中使用了分组和聚合函数。
B、允许,对应的操作为:
SELECT S#,COUNT(C#)
FROM SC
WHERE AVG(GRADE)80
C、允许,对应的操作为:
SELECT S#,COUNT(C#)
FROM SC
GROUP BY S#
HAVING AVG(GRADE)80
D、允许,对应的操作为:
SELECT S#, COUNT(C#)
FROM SC
HAVING AVG(GRADE)80
数据库中的数据表结构如下:
stu_info(stu_id, name, birthday, sex, address, mark, maj or, sdept)
stu_id-学号
name-姓名
birthday-出生日期
sex-性别
address-居住地址
mark-成绩
major-专业
sdept-所在院系
写出下面Transact-SQL语句的功能。
SELECT* FROM stu_info ORDER BY mark DESC, Birthday
A.SELECT SN,SEX FROM S WHERE AGE>(SELECT AGE FROM S WHERE SN=“李丽”)
B.SELECT SN,SEX FROM S WHERE SN=“李丽”
C.SELECT SN,SEX FROM S WHERE AGE>(SELECT AGE WHERE SN=“李丽”)
D.SELECT SN,SEX FROM S WHERE AGE>李丽.AGE