单选题
下列数据表。 “学生”表:学号C(8),姓名C(8),性别C(2),系名(10), 出生日期 D “课程”表:课程编号C(4),课程名称C(12),开课系名C(10) “成绩”表:学号C(8),课程编号C(4),成绩 I
单选题
检索每门课程的总分,查询结果中包括课程名和总分,正确的命令是( )。 A) SELECT 课程名称,COUNT(成绩) AS 总分 FROM 课程,成绩; WHERE 课程.课程编号=成绩.课程编号; ORDER BY 成绩.课程编号 B) SELECT 课程名称,COUNT(成绩) AS 总分 FROM 课程,成绩; WHERE 课程.课程编号=成绩.课程编号; GROUP BY 成绩.课程编号 C) SELECT 课程名称,SUM(成绩) AS 总分 FROM 课程,成绩; WHERE 课程.课程编号=成绩.课程编号; ORDER BY 成绩.课程编号 D) SELECT 课程名称,SUM(成绩) AS 总分 FROM 课程,成绩; WHERE 课程.课程编号=成绩.课程编号; GROUP BY 成绩.课程编号
【正确答案】
D
【答案解析】[解析] 进行SQL简单计算查询时,还可以加上 GROUP BY子句进行分组计算查询。 通常来说,一个计算函数的范围是满足WHERE子句指定条件的所有记录。当加上GROUP BY子句后,系统会将查询结果按指定列分成集合组。当一个计算函数和一个GROUP BY子句一起使用时,计算函数的范围变为每组所有的记录。 本题通过“GROUP BY 成绩.课程编号”可以先将记录按“课程编号”分组,然后再通过函数“SUM(成绩)AS总分”对每组记录求和,其中,通过AS短语可以对进行计算的字段指定一个新的字段名。另外,COUNT()函数是记数函数,ORDER BY是对查询结果进行排序的短语。
单选题
下列SQL查询语句所表示的含义是( )。
SELECT 课程名称,开课系名,COUNT(学号) AS 选修人数; FROM 成绩,课程; WHERE 课程.课程编号=成绩.课程编号; GROUP BY 课程名称; HAVING COUNT(*)>3 A) 检索开课在3门以上的开课系名、课程名称和选修人数 B) 检索选修了3门课程以上的学生记录,显示结果包括课程名称、开课系名和选修人数 C) 检索每门课程中,有3人以上选修该课程的记录,显示结果包括课程名称、开课系名和选修人数 D) 检索选修人数最多的3门课程的记录,显示结果包括课程名称、开课系名和选修人数
单选题
为“成绩”表中的“成绩”字段定义有效性检查及错误信息的提示,要求当成绩大于 100分时,提示“成绩不能超过100分”的信息,正确的命令是( )。 A) ALTER TABLE 成绩 ALTER 成绩; FOR CHECK 成绩<=100 ERROR"成绩不能超过100分" B) ALTER TABLE 成绩 ALTER 成绩; (WHERE CHECK 成绩<=100 ERROR"成绩不能超过100分") C) ALTER TABLE 成绩 ALTER 成绩; SET CHECK 成绩<=100 ERROR"成绩不能超过100分" D) ALTER TABLE 成绩 ALTER 成绩; (SET CHECK 成绩<=100 ERROR"成绩不能超过100分")
单选题
利用SQL派生一个包含“课程名称”、“姓名”和“成绩”的视图,要求按“课程名称”升序排序,正确的命令是( )。 A) CREATE VIEW viewl AS; (SELECT 课程.课程名称,学生.姓名,成绩.成绩; FROM 课程 INNER JOIN 成绩; INNER JOIN 学生; ON 成绩.学号=学生.学号; ON 课程.课程编号=成绩.课程编号; GROUP BY 课程名称) B) CREATE VIEW view1 AS; (SELECT 课程.课程名称,学生.姓名,成绩.成绩; FROM 课程 INNER JOIN 成绩; INNER JOIN 学生; ON 成绩.学号=学生.学号; ON 课程.课程编号=成绩.课程编号; ORDER BY 课程名称) C) CREATE VIEW view1 AS; SELECT 课程.课程名称,学生.姓名,成绩.成绩; FROM 课程 INNER JOIN 成绩; INNER JOIN 学生; ON 成绩.学号=学生.学号; ON 课程.课程编号=成绩.课程编号; GROUP BY 课程名称 D) CREATE VIEW view1 AS; SELECT 课程.课程名称,学生.姓名,成绩.成绩; FROM 课程 INNER JOIN 成绩; INNER JOIN 学生; ON 成绩.学号=学生.学号; ON 课程.课程编号=成绩.课程编号; ORDER BY 课程名称
单选题
向“成绩”表末尾插入一条“学号”为“08102002”,“课程编号”为“4001”,“成绩”为“86”的新记录,正确的命令是( )。 A) INSERT INTO 成绩 VALUES(08102002,4001,86) B) INSERT INTO 成绩 VALUES("08102002","4001",86) C) INSERT FOR 成绩 VALUES(08102002,4001,"86") D) INSERT FOR 成绩 VALUES("08102002","4001",86)