、命令“joinwithatonewfor学号=a.学号fiel

题目

、命令“joinwithatonewfor学号=a.学号fields学号,姓名,性别,a.数学,a.英语”中包含的关系运算有()

  • A、连接、选择
  • B、连接、投影
  • C、选择、投影、连接
  • D、选择、投影
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

用SQL语言检索选修课程在5门以上(含5门)的学生的学号、姓名和平均成绩,并按平均成绩降序排序,正确的命令是A)SELECT S.学号,姓名,平均成绩FROM S,SC; WHERE S.学号=SC.学号; GROUP BY S.学号HAVING GOUNT(*)>=5 ORDER BY平均成绩DESCB)SELECT学号,姓名,AVG(成绩)FROM S,SC; WHERE S.学号SC.学号AND COUNT(*)>=5; GROUP BY学号ORDER BY 3 DESCC)SELECT S.学号,姓名,AVG(成绩)平均成绩FROM S,SC; WHERE S.学号=SC.学号AND COUNT(*)>=5; GROUP BY S.学号ORDER BY平均成绩DESCD)SELECT S.学号,姓名,AVG(成绩)平均成绩FROM S,SC; WHERE S.学号=SC.学号; GROUP BY S.学号HAVING COUNT(*)=5 ORDER BY 3 DESC


正确答案:D
本题考查使用COUNT()函数来构造复杂查询,显示”平均成绩”不是表中字段,不能直接显示,用函数来实现表示方法为:AVG(成绩)平均成绩。因选项A,选项B表示错误可排除;在查询中是先用WHERE子句限定元组,然后进行分组,最后再用HAVING子句限定分组,也就是说先写WHERE子句,然后是GROUP,最后用HAVING子句对GROUP分组限定条件。选项C这两个选项中错误在于COUNT(*)>=5分组限定条件写在WHERE之后。故选项D为正确答案。

第2题:

检索“成绩”表中还没有“分数”的学生“学号”和“课程号”,正确的命令是( )。

A)SELECT学号,课程号FROM成绩WHERE分数NULL

B)SELECT学号,课程号FROM成绩WHERE分数=NULL

C)SELECT学号,课程号FROM成绩WHERE分数IS NULL

D)SELECT学号,课程号成绩订购单WHERE分数IS NOT NULL


正确答案:C

第3题:

第(34)~(35)题使用如下3个数据库表: 学生表:S(学号,姓名,性别,出生日期,院系)

课程表:C(课程号,课程名,学时)

选课成绩表:SC(学号,课程号,成绩)

在上述表中,出生日期数据类型为日期型,学时和成绩为数值型,其他均为字符型。

第34题:用SQL命令查询选修的每门课程的成绩都高于或等于85分的学生的学号和姓名,正确的命令是( )。

A.SELECT 学号,姓名 FROM S WHERE NOT EXISTS;

(SELECT * FROM SC WHERE SC.学号=S.学号 AND 成绩<85)

B.SELECT 学号,姓名 FROM S WHERE NOT EXISTS;

(SELECT * FROM SC WHERE SC.学号=S.学号 AND 成绩>=85)

C.SELECT 学号,姓名 FROM S,SC;

WHERE S.学号=SC.学号 AND 成绩>=85

D.SELECT 学号,姓名 FROM S,SC;

WHERE S.学号=SC.学号 AND ALL 成绩>=85


正确答案:A

第4题:

基于学生表S和学生选课表SC两个数据库表,它们的结构如下: S(学号,姓名,性别,年龄),其中学号、姓名和性别为C型字段,年龄为N型字段; SC(学号,课程号,成绩),其中学号和课程号为C型字段,成绩为N型字段。 查询同时选修课程号分别为2001和2005课程的学生的学号,正确的命令是( )。

A. SELECT学号FROM SC WHERE课程号='2001'AND学号IN(SELECT学号FROM SC WHERE课程号='2005’)

B. SELECT学号FROM SC WHERE课程号='2001'AND学号=(SELECT学号FROM SC WHERE课程号='2005’)

C. SELECT学号FROM SC WHERE课程号='2001'AND课程号='2005'

D. SELECT学号FROM SC WHERE课程号='2001'OR'2005'


正确答案:A
嵌套查询所要求的结果出自一个关系,但相关的条件却涉及多个关系。其内层基本上也是一个SE. LECT—FROM—WHERE查询语句。简单嵌套查询可使用谓词IN或NOT IN来判断外层的查询条件中是否包含内层查询的结果。本题要查询同时选修2001和2005号课程的学生的学号,外层查询包含了内层查询的结果。故本题答案为A。

第5题:

查询所修课程成绩都大于等于85分的学生的学号和姓名,正确的命令是( )。

A.SELECT学号,姓名FROM student s WHERE NOT EXISTS (SELECT*FROM score se WHERE SC.学号=s.学号码AND成绩<85)

B.SELECT学号,姓名FROM student S WHERE NOT EXISTS (SELECT*FROM score sc WHERE SC.学号=s.学号码AND成绩>=85)

C.SELECT学号,姓名FROM student s,score sc WHERE s.学号=sc.学号AND成绩>=85

D.SELECT学号,姓名FROM student s,score sc WHERE S.学号=sc.学号AND ALL成绩>=85


正确答案:B
B。【解析】由题可得,所查询的成绩是大于等于85分的学生的学号和姓名,其中成绩和学号、姓名不在一个表内,所以要用嵌套查询。而其中的成绩是大于等于85分,所以答案选择B。

第6题:

使用如下3个数据库表: 学生表:S(学号,姓名,性别,出生日期,院系) 课程表:C(课程号,课程名,学时) 选课成绩表:SC(学号,课程号,成绩) 在上述表中,出生日期数据类型为日期型,学时和成绩为数值型,其他均为字符型。用SQL命令查询选修的每门课程的成绩都高于或等于85分的学生的学号和姓名,正确的命令是______。

A.SELECT学号,姓名FROM S WHERE NOT EXISTS; (SELECT*FROM SC WHERE SC.学号=S.学号AND成绩<85)

B.SELECT学号,姓名FROM S WHERE NO TEXISTS; (SELECT*FROM SC WHERE SC.学号=S.学号AND成绩>=85)

C.SELECT学号,姓名FROMS,SC; WHERE S.学号=SC.学号AND成绩>=85

D.SELECT学号,姓名FROMS,SC; WHERE S.学号=SC.学号AND ALL成绩>=85


正确答案:A
解析:本题建立的是SELECT—SQL命令的嵌套查询语句s在这个命令中要用到两个SELECT—FROM— WHERE查询块,即内层查询块和外层查询块,通过查询块检索选修的每门课程的成绩都高于或等于85分的记录,即选修的每门课程的成绩中都不存在85分以下的记录。

第7题:

设有学生表S(学号,姓名,性别,年龄)、课程表C(课程号,课程名,学分)和学生选课表SC(学号,课程号,成绩),检索学号、姓名和学生所选课程的课程名和成绩,正确的SQL命令是______。

A.SELECT 学号,姓名,课程名,成绩 FROM S,SC,C WHERE S.学号=SC.学号 AND SC.学号=C.学号

B.SELECT 学号,姓名,课程名,成绩 FROM(S JOIN SC ON S.学号=SC.学号) JOIN C ON SC.课程号=C.课程号

C.SELECT S.学号,姓名,课程名,成绩 FROM S JOIN SC JOIN C ON S.学号=SC.学号 ON SC.课程号=C.课程号

D.SELECT S.学号,姓名,课程名,成绩 FROM S JOIN SC JOIN C ON SC.课程号=C.课程号 ON S.学号=SC.学号


正确答案:D
解析:此题是一个联接查询,联接查询是一种基于多个关系的查询。在SQL查询语句中建立两表间的连接可使用JOIN关键字连接其左右两个表名>所指的表,JOIN为普通连接,在Visual FoxPro中称为内部连接,即只有满足连接条件的记录才出现在查询结果中。用ON子句指定连接条件:也可以一次性在WHERE子句中指定连接条件和筛选条件。格式如下:
  SELECT 目标列表达式>
  FROM[[表名1>|视图名1>][[INNE]
  JOIN 表名2>|视图名1>]...ON连接条件>]...
  FROM[[数据库名>]owner>{表名>|视图名>}
  [,[[数据库名>.]owner>{表名>|视图名>}...
  [WHERE条件表达式>]
  [GROUP BY列名1>
  [HAVING内部函数表达式>]]
  [ORDER BY列名2> {ASC/DESC}]
所以A、B选项错误,如果先连接学生表S和学生选课表SC,会造成结果中有不符合要求的多余记录,所以C选项错误。

第8题:

用SQL语言检索选修课程在5门以上(含5门)的学生的学号、姓名和平均成绩,并按平均成绩降序排序,正确的命令是( )。

A.SELECT S.学号,姓名,平均成绩 FROM S,SC;

WHERE S.学号=SC.学号;

GROUP BY S.学号 HAVING COUNT(*)>=5 ORDER BY 平均成绩 DESC

B.SELECT 学号,姓名,AVG(成绩) FROM S,SC;

WHERE S.学号=SC.学号AND COUNT(*)>=5;

GROUP BY 学号 ORDER BY 3 DESC

C.SELECT S.学号,姓名,AVG(成绩) 平均成绩 FROM S,SC;

WHERE S.学号=SC.学号AND COUNT(*)>=5;

GROUP BY S.学号 ORDER BY 平均成绩 DESC

D.SELECT S.学号,姓名,AVG(成绩) 平均成绩 FROM S,SC;

WHERE S.学号=SC.学号;

GROUP BY S.学号 HAVING COUNT(*)>=5 ORDER BY 3 DESC


正确答案:D

第9题:

现有表:s(学号,姓名,性别,年龄),c(课程号,课程名,学分),SC(学号,课程号,成绩)。检索学号、姓名和学生所选课程的课程名和成绩,正确的SQL命令是( )。

A. SELECT学号,姓名,课程名,成绩FROM S,SC,C; WHERE S.学号=SC.学号AND SC.课程号=C.课程号

B. SELECT学号,姓名,课程名,成绩; FROM(S JOIN SC ON S.学号=SC.学号)JOIN C ON SC.课程号=C.课程号

C. SELECT S.学号,姓名,课程名,成绩; FROM S JOIN SC JOIN C ON S.学号=SC.学号ON SC.课程号=C.课程号

D. SELECT S.学号,姓名,课程名,成绩; FROM S JOIN SC JOIN C ON SC.课程号=C.课程号0N S.学号=SC.学号


正确答案:D
用JOIN连接格式连接多个表时JOIN的顺序和ON的顺序应该是相反的,否则会影响到最终的查询结果。

第10题:

检索还未确定成绩的学生选课信息,正确的SQL命令是( )。

A.SELECT学生.学号,姓名,选课.课程号FROM学生JOIN选课 WHERE学生.学号=选课.学号AND选课.成绩IS NULL

B.SELECT、学生.学号,姓名,选课.课程号FROM学生JOIN选课 WHERE学生.学号=选课.学号AND选课.成绩=NULL

C.SELECT学生.学号,姓名,选课.课程号FROM学生JOIN选课 ON学生.学号=选课.学号WHERE选课.成绩IS NULL

D.SELECT学生.学号,姓名,选课.课程号FROM学生JOIN选课 ON学生.学号=选课.学号WHERE选课.成绩=NULL


正确答案:C
解析:inner join on表示内链接,内链接是通过比较源表间共享的列的值从多个源表检索行的操作。内联接排除来自不具有与其它源表中的行匹配的行的源表的行。

更多相关问题