有学生(学号,姓名,性别)和成绩(学号,课程名称,分数)两个表,若在建立学生与成绩一对多联系时,选择的联系类型是:包括″

题目
单选题
有学生(学号,姓名,性别)和成绩(学号,课程名称,分数)两个表,若在建立学生与成绩一对多联系时,选择的联系类型是:包括″学生″中的所有记录和″成绩″中联接字段相等的那些记录,则数据之间关联方式是()
A

内部联接

B

全外部联接

C

左外部联接

D

右外部联接

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

已知有如下3个表: · 学生(学号,姓名,性别,班级) · 课程(课程名称,学时,性质) · 成绩(课程名称,学号,分数) 若要列出班级=“97计算机”的所有同学的姓名,应该对关系“学生”进行( )操作。

A选择

B连接

C投影

D选择和投影


参考答案:D

第2题:

~(35)题使用如下三个表: 学生.DBF:学号C(8),姓名C(12),性别C(2),出生日期D,院系C(8) 课程.DBF:课程编号C(4),课程名称C(10),开课院系C(8) 学生成绩.DBF:学号C(8),课程编号C(4),成绩I(32)查询每门课程的最高分,要求得到的信息包括课程名称和分数。正确的命令是A)SELECT课程名称,SUM(成绩)AS分数FROM课程,学生成绩; WHERE课程.课程编号=学生成绩.课程编号; GROUP BY课程名称B)SELECT课程名称,MAX(成绩)分数FROM课程,学生成绩;WHERE课程.课程编号=学生成绩.课程编号; GROUP BY课程名称C)SELECT课程名称,SUM(成绩)分数FROM课程,学生成绩; WHERE课程.课程编号二学生成绩.课程编号; GROUP BY课程.课程编号D)SELECT课程名称,MAX(成绩)AS分数FROM课程,学生成绩; WHERE课程.课程编号=学生成绩.课程编号; GROUP BY课程编号


正确答案:B
本题考查使用MAX()函数构造SQL查询。使用SQL查询课程的最高分,可以用MAX()函数来实现。由于查询的是每门课程的最高分,所以需要按照课程名称进行分组,故选项B正确。选项A的错误在于查询结果由SUM(成绩)构成,是对分组后的成绩进行了求和,选项C也是同样的错误,选项D错误在于AS子句后只有一个字段名,而查询结果字段有两个,无法匹配,也是错误的。

第3题:

●已知基本表:学生(学号,姓名,性别,年龄,系名)

选课(学号,课程号,成绩)

要检索所有比"王华"年龄大的学生姓名、年龄和性别,正确的语句是 (25) ,要检索学生姓名及其所选修课程的课程号和成绩,正确的语句是 (26) 。

(25) A.SELECT姓名,年龄,性别

FROM学生

WHERE AGE>(SELECT 年龄

FROM 学生

WHERE 姓名 ="王华")

B.SELECT姓名,年龄,性别

FROM学生

WHERE姓名="王华"

C.SELECT姓名,年龄,性别

FROM学生

WHERE AGE>(SELECT年龄

WHERE姓名="王华")

D.SELECT姓名,年龄,性别

FROM学生

WHERE AGE>"王华"

(26) A.SELECT 学生.姓名,选课.课程号,选课.成绩

FROM学生

WHERE学生 学号=课程.学号

B.SELECT学生.姓名,选课.课程号,选课.成绩

FROM选课

WHERE学生.学号=课程.学号

C.SELECT学生.姓名,选课.课程号,选课.成绩

FROM学生,选课

WHERE学生.学号=课程.学号

D.SELECT学生.姓名,选课.课程号,选课.成绩

FROM学生.学号


正确答案:A,C
【解析】分句WHERE AGE>(SELECT 年龄 FROM 学生 WHERE 姓名 ="王华")限定了结果记录年龄比王华大。B、C、D项该分句均不正确。26题考查了连接操作,A、B的FROM字段错误。D项缺少连接字段。

第4题:

利用SQL派生一个包含“课程名称”、“姓名”和“成绩”的视图,要求按“课程名称”升序排序,正确的语句是( )。

A.CREATE VIEW view1 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课程名称


正确答案:D
解析:利用SQL命令可以定义直接建立视图,命令格式如下:
CREATE VIEW视图名AS;
SELECT语句
注意:在定义视图时,SELECT语句部分不需要用括号括起来,用来排序的SQL短语是ORDER BY,而GROUP BY短语的功能是对记录进行分组。

第5题:

已知学生关系S(学生,姓名,班级,课程名称,成绩),学号由入学年份、专业编号和班内编号组成。则其候选关键字是( )。

A.(学号,姓名)

B.(学号,课程名称)

C.(姓名,成绩)

D.(学号,班级)


正确答案:A
解析:关键字就是主码,在本题中,将学号和姓名可以作为关键字,因为这两个作为关键字,重复的可能性最小。

第6题:

设有s(学号,姓名,性别)和sc(学号,课程号,成绩)两个表,下面SQL的SELECT语句检索选修的每门课程的成绩都高于或等于85分的学生的学号、姓名和性别。SELECT 学号,姓名,性别 FROM sWHERE ___ (SELECT * FROM sc WHERE sc.学号=s.学号 AND 成绩<85)


正确答案:NOT EXISTS
本题考查SQL查询语句的使用。在SQL中,括号内SELECT*FROM sc WHERE sc.学号=5.学号AND成绩<85表示是每门课成绩都小于85分的学生,要检索成绩高于或等于85分,NOT EXISTS取反。

第7题:

(1)使用“Modify Command”命令建立程序“cx1”,查询数据库“学生管理”中选修了3门(含3)以上课程的学生的全部信息,并按“学号”升序排序,将结果存放于表“result”中。(2)使用“一对多报表向导”建立报表“rpt1”。要求:父表为“学生”,子表为“成绩”。从父表中选择字段“学号”和“姓名”。从子表中选择字段“课程编号”和“成绩”,两个表通过“学号”建立联系,报表样式选择“账务式”,方向为“横向”,按“学号”升序排序,报表标题为“学生成绩浏览”。


正确答案:
【考点指引】本大题第1小题考查的是SQL SELECT语句的用法:第2小题考查的是一对多报表向导的使用,按句导提示还步操作即可。
(1)【操作步骤】
①在命令窗口中输入命令:MODI COMM cxl(回车执行),打开程序文件编辑窗口,在程序文件编辑窗口中输入以下程序代码:
SELECT*INTO TABLE result FROM学生WHERF学号IN(SELECT学号FROM成绩GROUP BY学号HAVING COUNT(*)>=3)ORDER BY学号
关闭程序文件编辑窗口并保存程序文件。
②在命令窗口中输入命令:DO cxl(回车执行),执行程序文件。
(2)【操作步骤】
①选择【文件】→【新建】命令,选择“报表”,单击“向导”按钮打开“向导选取”窗口,选择“一对多报表向导”,单击“确定”按钮进入“一对多报表向导”对话框。
②在“一对多报表向导”对话框中,选择“数据库和表”列表框中的“学生”作为父表,从“可用字段”列表框中将“学号”和“姓名”字段添加到右边的“选定字段”列表框中,用做父表的可用字段。
③单击“下一步”设计子表的可用字段,选择“数据库和表”列表框中的“成绩”作为子表,从“可用字段”列表框中的“课程编号”和“成绩”字段添加到“选定字段”列表框中。
④单击“下一步”进入“为表建立关系”的设计界面,在此处系统已经默认设置好进行关联的字段:父表学生的“学号”和子表成绩的“学号”字段。
⑤单击“下一步”进入“排序记录”的设计界面,将“可用字段或索引标识”列表框中的“学号”字段添加到右边的“选定字段”列表框中,并选择“升序”单选项。
⑥单击“下一步”进入“选择报表样式”的界面,在“样式”列表框中选择“账务式”,在“方向”选项组中选择“横向”。
⑦单击“下一步”,进入最后的“完成”设计界面,在“报表标题”文本框中输入“学生成绩浏览”作为报表添加标题,单击“完成”命令按钮,在系统弹出的“保存为”对话框中,将报表以“rptl”文件名保存在考生文件夹下,退出报表设计向导。

第8题:

已知有如下三个表: 学生(学号,姓名,性别,班级) 课程(课程名称,学时,性质) 成绩(课程名称,学号,分数) 若要列出“99网络”班所有“数据库技术”课成绩不及格的同学的学号、姓名、课程名称、分数,则应该对这些表进行哪些操作?( )

A.选择和自然连接

B.投影和自然连接

C.选择、投影和自然连接

D.选择和投影


正确答案:C
要列出“99网络”班所有“数据库技术”课成绩不及格的同学的学号、姓名、课程名称、分数,其正确的关系代数表达式是先对学生按照条件班级=“99网络”进行选择,然后再与其他两个关系进行自然连接,然后在学号、姓名、课程名称、分数列上进行投影。

第9题:

学生、课程和成绩三个关系:学生(学号,姓名,性别,班级),课程(课程名称,学时,性质),成绩(课程名称,学号,分数),若打印学生成绩单,包含学号、姓名、课程名称、分数,应该对这些关系进行( )操作。

A.并

B.交

C.乘积

D.连接


正确答案:D

第10题:

检索每门课程的最高分,要求得到的信息包括课程名称、姓名和最高分,正确的SQL语句是( )。

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

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

C.SELECT 课程.课程名称,学生.姓名,MAX(成绩) AS 最高分; FROM 成绩,课程,学生; WHERE 成绩.课程编号=课程.课程编号; AND 成绩.学号=学生.学号; ORDER BY 课程.课程编号

D.SELECT 课程.课程名称=学生.姓名,MAX(成绩) AS 最高分; FROM 成绩,课程,学生; WHERE 成绩.课程编号=课程.课程编号; AND 成绩.学号=学生.学号; ORDER BY 课程.课程编号


正确答案:B
解析:本题中首先通过GROUPBY短语将“课程”表中的记录按“课程编号”分组,然后通过MAX()函数求出每组中的最高成绩,即每门课程的最高成绩。由于查询输出结果涉及到多个表的字段,因此要使用连接查询,表之间的连接条件放在WHERE短语中,AND用来连接两个连接条件,以保证在查询的3个表之间建立联系。

更多相关问题