电子信息

若查询只选了一门课程的学生号、学生姓名和成绩,则语法: SELECT A.学生号,A.学生姓名,B.成绩FROM学生A,选课B; WHERE A.学生号【 】(SELECT 学生号 FROM选课; GROUP BY【 】HVING【 】

题目

若查询只选了一门课程的学生号、学生姓名和成绩,则语法: SELECT A.学生号,A.学生姓名,B.成绩FROM学生A,选课B; WHERE A.学生号【 】(SELECT 学生号 FROM选课; GROUP BY【 】HVING【 】

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

第1题:

要在学生选课表中查询所有2号课程的选课记录,并将查询结果按成绩升序排列,则可以使用的SQL语句是“SELECT * FROM 学生选课 WHERE 课程号="2" ORDER BY ()”

A. 成绩

B. 成绩 DESC

C. 成绩 ASC

D. 100-成绩 DESC


正确答案:ACD

第2题:

若要在表“学生”和“选课”中查找001号学生的成绩,下列语句正确是( )。

A.SELECT 学生号,姓名,成绩 FROM 学生 JOIN 选课; WHERE 学生号=001:

B.SELECT 学生号,姓名,成绩 FROM 学生 JOIN 选课; WHERE 学生号=001; ON学生.学生号=选课.学生号

C.SELECT 学生号,姓名,成绩 FROM 学生 JOIN 选课; ON学生.学生号=选课.学生号; WHERE 学生号=001

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


正确答案:C
解析:在超级联接查询中,SELECT列出查询的属性,FROM后列出查询类型,ON短语列出联接查询条件,WHERE后是查询条件。ON短语要紧跟在JOIN短语的后面,WHERE短语置于ON短语后面。

第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题:

若要查询选修课(学号、课程号、成绩)成绩在80分以上的女生姓名,应使用的SELECT语句是______。

A.SELECT姓名FROM学生表,选课表WHERE学生表.学号=选课表.学号;.OR.性别="女".AND.成绩>=80

B.SELECT姓名FROM学生表,选课表WHERE学生表.学号=选课表.学号;.AND.性别:"女".OR.成绩>=80

C.SELECT姓名FROM学生表,选课表WHERE学生表.学号=选课表.学号;.OR.性别="女".OR.成绩>=80

D.SELECT姓名FROM学生表,选课表WHERE学生表.学号=选课表.学号;.AND.性别:"女".AND.成绩>=80


正确答案:D

第5题:

查询选修“KC1”的学生中成绩最高的学生的学号,下列语句正确的是( )。

A.SELECT 学生号 FROM 选课: MHERE 课程号=“KC1”AND 成绩>=; (SELECT 成绩 FROM 选课; WHERE 课程号=“KC1”)

B.SELECT 学生号 FROM 选课; WHERE 课程号=“KC1”AND 成绩IN; (SELECT 成绩 FROM 选课; WHERE 课程号=“KC1”)

C.SELECT 学生号 FROM 选课: WHERE 课程号=“KC1”AND 成绩>=ALL: (SELECT 成绩 FROM 选课; WHERE 课程号=“KC1”)

D.SELECT 学生号 FROM 选课; WHERE 课程号=“KC1”AND 成绩 IN; (SELECT 成绩 FROM 选课)


正确答案:C
解析:本题是嵌套循环查循,内层查询的结果是选修“KC1”课程号同学的成绩的集合。外层查询结果中的成绩应该大于内层查询结果成绩集合中的所有值,使用ALL运算,而IN是表示外层查询结果中的成绩属于内层查询结果成绩集合中的结果。

第6题:

若要查询选修课(学号、课程号、成绩)成绩在80分以上的女生的姓名,应使用的SELECT语句是 ______。

A.SELECT姓名FROM学生表,选课表WHERE学生表.学号=选课表.学号;.OR.性别=“女”.AND.成绩>=80

B.SELECT姓名FROM学生表,选课表WHERE学生表.学号=选课表.学号;.AND.性别=“女”.OR.成绩>=80

C.SELECT姓名FROM学生表,选课表WHERE学生表.学号=选课表.学号;.OR.性别=“女”.OR.成绩>=80

D. SELECT姓名FROM学生表,选课表WHERE学生表.学号=选课表.学号;.AND.性别=“女”.AND.成绩>=80


正确答案:D
解析:本查询是在学生表和选课表之间进行的,在语句中应有表的连接条件和记录的筛选条件,在4个选项中的表连接条件都是相同的,也是正确的,不同之处是连接条件和筛选条件之间的逻辑运算符的使用,在语句中只要使用了逻辑运算符OR就都不符合题意要求,正确答案应为选项D。

第7题:

若需在“选课”表中按降序排列查询前3名的学生,下列语法正确的是( )。

A.SELECT 学生号,成绩 TOP 3 FROM 选课; ORDER BY 成绩 DESC

B. SELECT 学生号,成绩 TOP 3 PERCENT FROM 选课: ORDER BY 成绩 DESC

C.SELECT 学生号,成绩 TOP 3 FROM 选课 DESC:

D. SELECT 学生号,成绩 TOP 3 PERCENT FROM 选课 DESC


正确答案:A
解析:SQL命令可以显示部分结果,使用TOP子句。在符合查询条件的所有记录中,选取指定数量或百分比的记录。选项C、D没有与ORDER BY同时使用;选项B使用了PERCENT短语,查询的是排名前3%的学生。

第8题:

查询选修课程号为“101”课程得分最高的同学,正确的SQL语句是 ______。

A.SELECT 学生.学号,姓名FROM 学生,选课WHERE 学生.学号=选课.学号 AND 课程号=“101” AND 成绩>=ALL (SELECT 成绩 FROM 选课)

B.SELECT 学生.学号,姓名FROM 学生,选课 WHERE 学生.学号=选课.学号 AND 成绩>=ALL(SELECT 成绩 FROM 选课 WHERE 课程号=“101”)

C.SELECT 学生. 学号,姓名 FROM 学生,选课 WHERE 学生. 学号=选课.学号 AND 成绩>=ANY (SELECT 成绩 FROM 选课 WHERE 选课号=“101”)

D.SELECT 学生.学号,姓名 FROM 学生,选课 WHERE 学生.学号=选课.学号 AND 课程号=“101”AND 成绩>= ALL(SELECT 成绩 FROM 选课 WHERE课程号=“101”)


正确答案:D
解析:选项A中的子查询并没有限定选择“课程号”为“101”,则此命令选择出来的结果是“101”课程得分大于等于所有科目成绩的记录,如果其余课目的成绩有记录大于“101”科目的最高成绩,则此查询无结果,此选择错误。
选项B中的查询并没有限定选择“课程号”为“101”,则此命令选择出来的结果是所有课程得分大于等于所有“101”科目成绩的记录,如果其余课目的成绩有记录大于“101”科目的最高成绩,则此查询将查询出错误结果,此选项错误。
选项C中的查陶并没有限定选择“课程号”为“101”,则此命令选择出来的结果是所有课程得分大于等于任意“101”科目成绩的记录,此查询将查询出错误的结果,此选项错误。

第9题:

在学生表中查找没有选课的学生,下列语句正确的是( )。

A.SELECT*FROM 学生 WHERE EXISTS; (SELECT*FROM 选课 WHERE学生号=学生.学生号)

B.SELECT*FROM 学生 WHERE NOT EXISTS; (SELECT*FROM 选课 WHERE 学生号=学生.学生号)

C.SELECT*FROM 学生 WHERE EXISTS; (SELECT*FROM 选课 WHERE 学生号=学生号)

D. SELECT*FROM 学生 WHERE NOT EXISTS; (SELECT*FROM 选课 WHERE 学生号=学生号)


正确答案:B
解析:本题是嵌套循环查循,在外层中使用了谓词EXISTS。依据题意,在子查询中有结果返回,应该用EXISTS谓词。内层查询引用了外层查询的表,所以在WHERE短语的学生号中使用关系名,即学生.学生号。

第10题:

学生(学号(C,8),姓名(C,6),性别(C,2),出生日期(D))选课(学号(C,8),课程号(C,3),成绩(N,5,1)) 假定学号的第3、4位为专业代码。要计算各专业学生选修课程号为“007"课程的平均成绩,正确的SQL语句是( )。

A. SELECT专业AS SUBS(学号,3,2),平均分AS AVG(成绩)FROM选课WHERE课程号=”007” GROUP BY专业

B. SELECT SUBS(学号,3,2)AS专业,AVG(成绩)As平均分FROM选课WHERE课程号=”007” GROUP BY 1

C. SELECT SUBS(学号,3,2)AS专业,AVG(成绩)As平均分FROM选课WHERE课程号=”007”OR—DER BY专业

D. SELECT专业AS SUBS(学号,3,2),平均分AS AVG(成绩)FROM选课WHERE课程号=”007”OR—DER RY 1


正确答案:B
根据题目要求,要把不同专业的学生进行分组并求平均成绩,所以要用到短语GROUP BY,在SE.LECT语句中,目标字段放在As之后,“1”表示第一个字段。

更多相关问题