计算机程序设计

在设计数据表时,如果要求“课表”中的“课程编号”必须是“课程设置”表中存在的课程,则应该进行的操作是()A、在“课表”和“课程设置”表的“课程编号”字段设置索引B、在“课表”的“课程编号”字段设置输入掩码C、在“课表”和“课程设置”表之间设置参照完整性D、在“课表”和“课程设置”表“课程编号”字段设置有效性规则

题目

在设计数据表时,如果要求“课表”中的“课程编号”必须是“课程设置”表中存在的课程,则应该进行的操作是()

  • A、在“课表”和“课程设置”表的“课程编号”字段设置索引
  • B、在“课表”的“课程编号”字段设置输入掩码
  • C、在“课表”和“课程设置”表之间设置参照完整性
  • D、在“课表”和“课程设置”表“课程编号”字段设置有效性规则
如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

( 29 )有教师表(教师号,姓名,职称,所在系)和授课表(教师号,课程号,授课学年,授课时数) ,同一门课程可由多个教师讲授 , 同一个教师也可讲授多门课程 。 查询从未被 “ 教授 ” 讲授过的课程的课程号,正确的语句是

A )

SELECT 课程号 FROM 授课表 a JOIN 教师表 b ON a. 教师号 = b. 教师号

WHERE 职称 != ' 教授 '

B )

SELECT 课程号 FROM 授课表 a RIGHT OUTTER JOIN 教师表 b

ON a. 教师号 = b. 教师号

WHERE 职称 != ' 教授 ' AND a. 课程号 IS NOT NULL

C )

SELECT 课程号 FROM 授课表 WHERE 课程号 NOT IN(

SELECT 课程号 FROM 授课表 a JOIN 教师表 b ON a. 教师号 = b. 教师号

WHERE 职称 = ' 教授 ')

D )

SELECT 课程号 FROM 授课表 WHERE 课程号 IN(

SELECT 课程号 FROM 授课表 a JOIN 教师表 b ON a. 教师号 = b. 教师号

WHERE 职称 != ' 教授 ')


正确答案:C

第2题:

使用如下的3个数据表:学生、课程和成绩。

学生(学号 C(8),姓名 C(8),性别 C(2),班级 C(8))

课程(课程编号 C(8),课程名称 C(20))

成绩(学号 C(8),课程编号 C(8),成绩 N(5,1))

查询每门课程的最高分,要求得到的信息包括课程名和最高分,正确的命令是

A.SELECT 课程.课程名称, MAX(成绩) AS 最高分 FROM 成绩,课程; WHERE 成绩.课程编号 = 课程.课程编号; GROUP BY 课程.课程编号

B.SELECT 课程.课程名称, MAX(成绩) AS 最高分 FROM 成绩,课程; WHERE 成绩.课程编号 = 课程.课程编号; GROUP BY 课程编号

C.SELECT 课程.课程名称, MIN(成绩) AS 最高分 FROM 成绩,课程; WHERE 成绩.课程编号 = 课程.课程编号; GROUP BY 课程.课程编号

D.SELECT 课程.课程名称, MIN(成绩) AS 最高分 FROM 成绩,课程; WHERE 成绩.课程编号 = 课程.课程编号; GROUP BY 课程编号


正确答案:A
解析:求最大值要利用MAX函数。要查询每门中的最高分,需要对课程进行分组。由于课程名称可能出现重名,因此分组依据为课程编号,且注意记录的惟一性,利用AS短语。可将"成绩"字段名重新命名为"最高分"作为新的字段名,用于显示查询结果。选项B)的分组条件中,没有指定从哪个表中进行记录分组,因此系统报错。选项C)和选项D)的计算函数使用错误。

第3题:

现要统计选课表中C01课程的最低成绩,下列语句中正确的是()。

A.SELECTMAX(成绩)FROM选课表WHERE课程号='C01'

B.SELECTMAX(*)FROM选课表WHERE课程号='C01'

C.SELECTMIN(成绩)FROM选课表WHERE课程号='C01'

D.SELECTMIN(*)FROM选课表WHERE课程号='C01'


参考答案:C

第4题:

查询每门课程的最高分,要求得到的信息包括课程名和最高分,正确的命令是

A.SELECT课程.课程名称,MAX(成绩)AS最高分FROM成绩,课程; WHERE成绩.课程编号=课程.课程编号; GROUP BY课程.课程编号

B.SELECT课程.课程名称,MAX(成绩)AS最高分FROM成绩,课程; WHERE成绩.课程编号=课程.课程编号; GROUP BY 课程编号

C.SELECT课程.课程名称,MIN(成绩)AS最高分FROM成绩,课程; WHERE成绩.课程编号=课程.课程编号; GROUP BY课程.课程编号

D.SELECT课程.课程名称,MIN(成绩)AS最高分FROM成绩,课程; WHERE成绩.课程编号=课程.课程编号; GROUP BY课程编号


正确答案:A
解析:求最大值要利用MAX函数。要查询每门中的最高分,需要对课程进行分组。由于课程名称可能出现重名,因此分组依据为课程编号,且注意记录的惟一性,利用AS短语。可将“成绩”字段名重新命名为“最高分”作为新的字段名,用于显示查询结果。
选项B)的分组条件中,没有指定从哪个表中进行记录分组,因此系统报错。选项C)和选项 D)的计算函数使用错误。 掌握Visual FoxPro中,常用函数表达式的命令格式及定义。

第5题:

设教师表的结构为:教师号、姓名、性别、职称、工资、所在系。若要查询“陈静”教师所讲授的课程,并列出姓名和课程名,应使用的语句SELECT-SQL是______。

A.SELECT 姓名,课程名FROM 教师表,授课表,课程表; WHERE 教师表.教师号=授课表.教师号AND 姓名=“陈静”

B.SELECT姓名,课程名FROM 教师表,授课表,课程表; WHERE 教师表.教师号=授课表.教师号AND授课表.课程号=课程表.课程号; AND姓名=“陈静”

C.SELECT姓名,课程名FROM 教师表,授课表,课程表; WHERE教师表.教师号=授课表.教师号AND授课表.教师号=课程表.课程号; AND姓名=“陈静”

D.SELECT姓名,课程名FROM 教师表,授课表,课程表; WHERE授课表.课程号=课程表.课程号AND姓名=“陈静”


正确答案:B
解析:本查询是在教师表和授课表及课程表之间进行的,在表的连接条件中应有教师表和授课表按教师号连接、授课表和课程表按课程号连接的条件。选项A中缺少了授课表和课程表连接的条件,选项B是正确的,选项C在授课表和课程表连接的条件中连接字段错误,选项D中缺少了教师表和授课表连接的条件。

第6题:

到(35)题使用如下数据表。

学生”表:学号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课程.课程编号=成绩.课程编号; ORDERBY成绩.课程编号

D.SELECT课程名称,SUM(成绩)AS总分FROM课程,成绩; WHERE课程.课程编号=成绩.课程编号; GROUP BY成绩.课程编号


正确答案:D
解析:进行SQL简单计算查询时,还可以加上GROUP BY子句进行分组计算查询。
通常来说,一个计算函数的范围是满足WHERE子句指定条件的所有记录。当加上GROUP BY子句后,系统会将查询结果按指定列分成集合组。当一个计算函数和一个GROUP BY子句一起使用时,计算函数的范围变为每组所有的记录。
本题通过“GROUP BY成绩.课程编号”可以先将记录按“课程编号”分组,然后再通过函数“SUM(成绩)AS总分”对每组记录求和。其中,通过AS短语可以对进行计算的字段指定一个新的字段名。另外,COUNT()函数

第7题:

在“学生.mdb”数据库中有教师、课程、授课、课程成绩和学生表。

(1)以教师、授课和课程表为数据源,创建生成查询“生成授课表”,表中含有授课 ID、教师姓名和课程名称字段。授课表结果如图所示。

(2)以学生表和课程成绩表为数据源,创建查询“平均分”,结果显示学生姓名和平均分字段,平均分=Sum([课程成绩]![成绩])/Count([课程成绩]![课程编号])。查询结果如图所示。


正确答案:

第8题:

有教师表(教师号,姓名,职称,所在系)和授课表(教师号,课程号,授课学年,授课时数),同一门课程可由多个教师讲授,同一个教师也可讲授多门课程,查询从未被“教授”讲授过的课程的课程号,正确的语句是______。

A.SELECT课程号FROM授课表a JOIN教师表bON a.教师号=b.教师号WHERE职称!=‘教授’

B.SELECT课程号FROM授课表a R1GHT OUTTER JOIN教师表b ON a.教师号=b.教师号

C.SELECT课程号FROM授课表WHERE课程号NOT IN(SELECT课程号FROM授课表 a JOIN授课表b ON a.教师号=b.教师号WHERE职称!=‘教授’)

D.SELECT课程号FROM授课表WHERE课程号IN(SELECT课程号FROM授课表 a JOIN授课表b ON a.教师号=b.教师号WHERE职称!=‘教授’)


正确答案:D
解析:本题考查的是表记录的条件查询,由题意可以看出D选项可以实现查询要求,所以本题的答案为D。

第9题:

查询每门课程的课程名、任课教师姓名及其职称、选课人数。对下列的SELECT-SQL语句填空: SELECT课程名,姓名,职称,【 】; FROM课程表,教师表,授课表,选课表; WHERE教师表.教师号=授课表.教师号; AND课程表.课程号=授课表.课程号AND【 】GROUP BY选课表.课程号


正确答案:COUNT(选课表.学号) 选课表.课程号=课程表.课程号
COUNT(选课表.学号) ,选课表.课程号=课程表.课程号 解析:本题内容涉及到4个表,用3个连接条件将4个表有机地连接起来。其中,前两个连接条件可以给出每门课程的课程名、任课教师名及其职称。后一个连接条件将相关课程与学生的选课情况联系起来,通过按课程号进行分组,统计每一组的学号数,就可以得到每一门课程的选课人数。

第10题:

设有选课表(学号,课程号,成绩),现要统计每门课程的选课人数,并将结果保存到新表:选课情况表。下列语句中正确的是( )。

A.SELECT课程号,COUNT(*)选课人数FROM选课表INT0选课情况表GROUP BY课程号

B.SELECT课程号,COUNT(*)选课人数INT0选课情况表FROM选课表GROUP BY课程号

C.SELECT课程号,COUNT(*)FROM选课表INT0选课情况表(课程号,选课人数)GROUP BY课程号

D.SELECT课程号,COUNT(*)INT0选课情况表(课程号,选课人数)FROM选课表GROUP BY课程号


正确答案:B
包含INTO子句的SELECT语句的语法格式为:SELECT查询列表序列INTO<新表名>FROM数据源。

更多相关问题