Visual FoxPro数据库程序设计

单选题查询同时选修课程号为C1和C5课程的学生的学号,正确的命令是(  )。A SELECT学号FROM score sc WHERE课程号='C1'AND学号IN(SELECT学号FROM score sc WHERE课程号='C5')B SELECT学号FROM score sc WHERE课程号='C1'AND学号=(SELECT学号FROM score sc WHERE课程号='C5')C SELECT学号FROM score sc WHERE课程号='C1'AND课程号='C5'D SELECT

题目
单选题
查询同时选修课程号为C1和C5课程的学生的学号,正确的命令是(  )。
A


SELECT学号FROM score sc WHERE课程号='C1'AND学号IN
(SELECT学号FROM score sc WHERE课程号='C5')

B


SELECT学号FROM score sc WHERE课程号='C1'AND学号=
(SELECT学号FROM score sc WHERE课程号='C5')

C

SELECT学号FROM score sc WHERE课程号='C1'AND课程号='C5'

D

SELECT学号FROM score sc WHERE课程号='C1'OR'C5'

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

第1题:

设有关系模式:成绩(学号,课程号,分数),则下列选项中,能正确描述SQL语句 “SELECT’学号FROM成绩GROUP BY 学号HAVING COUNT(*)>3”功能的是

A.查询选修了3门以上课程的学生的学号

B.查询1门课程有3个以上学生选修的学生学号

C.将学生按照学号分成了3组

D.将学生按照课程分成了3组


正确答案:A
解析:GROUP子句将结果按指定列名分组,每个组产生结果表中的一个元组。通常在每组中使用集函数,分组的附加条件用HAVING短语给出,只有满足内部函数表达式的组才能被输出。本题中即按照学号进行分组。

第2题:

学生表:Student 学生表 (学号,姓名,性别,年龄,组织部门)

Course 课程表 (编号,课程名称)

Sc 选课表 (学号,课程编号,成绩)

表结构如下:

(1).写一个SQL语句,查询选修了’计算机原理’的学生学号和姓名

(2).写一个SQL语句,查询’周星驰’同学选修了的课程名字

(3).写一个SQL语句,查询选修了5门课程的学生学号和姓名


正确答案:

  select sno,sname

  from student

  where sno in (

  select sno

  from sc

  where cno = (

  select cno

  from course

  where cname=计算机原理

  )

  )

  (2)

  select cname

  from course

  where cno in (

  select cno

  from sc

  where sno =

  (

  select sno

  from student

where sname=周星驰

  )

  )

  (3) select sno,sname

  From student

  Where sno in (

  select sno

  from scgroup by sno having count(sno)=5

  )

第3题:

设教学数据库中有4个关系:教师关系T(T,TNAME,TITLE)课程关系C(C,CNAME,T)学生关系S(S,SNAME,AGE,SEX)选课关系SC(S,C,SCORE)试用关系代数表达式表示各个查询语句。(1)检索年龄小于17岁的女学生的学号和姓名。(2)检索男学生所学课程的课程号和课程名。(3)检索男学生所学课程的任课老师的职工号和姓名。(4)检索至少选修了两门课程的学生学号。(5)检索至少有学号为S2和S4学生选修的课程的课程号。(6)检索WANG同学不学的课程的课程号。(7)检索全部学生都选修的课程的课程号与课程名。(8)检索选修课程包含LIU老师所授全部课程的学生学号。


①检索年龄小于17岁的女学生的学号和姓名。
SELECT S#.SNAME FROM S
WHERE AGE<17 AND SEX=’F’
②检索男学生所学课程的课程号和课程名。
SELECT C.C#,CNAME (连接查询方式) FROM S,SC,C
WHERE S.S#=SC.S# AND SC.C#=C.C# AND SEX=’M’;
③检索男学生所学课程的任课老师的工号和姓名。
SELECT T.T#, TNAME FROM S,SC,C,T
WHERE S.S#=SC.S# AND SC.C#=C.C# AND C.T#=T.T# AND SEX=’M’;
④检索至少选修两门课程的学生学号。
SELECT DISTINCT X.S# FROM SC AS X, SC AS Y
WHERE X.S#=Y.S# AND X.C#!=Y.C#;
⑤检索至少有学号为S2和S4的学生选修的课程的课程号。
SELECT DISTINCT X.C# FROM SC AS X, SC AS Y
WHERE X.S#=’S2’ AND Y.S#=’S4’ AND X.C#=Y.C#;
⑥检索WANG同学不学的课程的课程号。
SELECT C# FROM C
WHERE NOT EXISTS (SELECT * FROM S, SC
WHERE S.S#=SC.S# AND SC.C#=C.C# AND SNAME=’WANG’);
⑦检索全部学生都选修的课程的课程号与课程名。
SELECT C#,CNAME FROM C
WHERE NOT EXISTS (SELECT * FROM S
WHERE NOT EXISTS (SELECT * FROM SC
WHERE S#=S.S# AND C#=C.C#));
⑧检索选修课程包含LIU老师所授全部课程的学生学号。
法一:
SELECT DISTINCT S# FROM SC AS X
WHERE NOT EXISTS (SELECT * FROM C,T
WHERE C.T#=T.T# AND TNAME=’LIU’
AND NOT EXISTS (SELECT{
FROM SC AS Y
WHERE Y.S#=X.S# AND Y.C#=C.C#));
法二:
SELECT DISTINCT S# FROM SC X
WHERE NOT EXISTS ((SELECT C# FROM C,T
WHERE C.T#=T.T# AND TNAME=‘LIU’) EXCEPT
(SELECT C# FROM SC Y WHERE Y.S#=X.S#));

第4题:

检索至少选修了课程号为1和课程号为5的课程的学生的学号。


正确答案:可建立一个临时关系R ПSNUMCNUM(SC)÷R
可建立一个临时关系R ПSNUM,CNUM(SC)÷R

第5题:

查询选修课程号为“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”科目成绩的记录,此查询将查询出错误的结果,此选项错误。

第6题:

检索选修课程包含学号为2且年龄小于20的学生所修全部课程的课程号。


正确答案:ПCNUM(ПSNUM(σSNUM='2'(S)σAGE<'20'(S))ПSNUMCNUM(SC))
ПCNUM(ПSNUM(σSNUM='2'(S)σAGE<'20'(S))ПSNUM,CNUM(SC))

第7题:

设有学生选课表SC(学号,课程号,成绩),用SQL检索同时选修课程号为“C1”和“C5”的学生的学号的正确命令是______。

A.SELECT 学号 FROM SC WHERE 课程号='C1' AND 课程号='C5'

B.SELECT 学号 FROM SC WHERE 课程号='C1' AND 课程号=(SELECT 课程号 FROM SC WHERE 课程号='C5')

C.SELECT 学号 FROM SC WHERE 课程号='C1' AND 学号=(SELECT 学号 FROM SC WHERE 课程号;='C5')

D.SELECT 学号 FROM SC WHERE 课程号='C1' AND 学号 IN(SELECT 学号 FROM SC WHERE 课程号='C5')


正确答案:D
解析:本题建立的是SELECT—SQL命令的嵌套查询语句。在这个命令中要用到两个SELECT—FROM— WHERE查询块,即内层查询块和外层查询块,通过查询块检索同时选修课程号为“C1”和“C5”的学生的学号。

第8题:

统计只有2名以下(含2名)学生选修的课程情况,统计结果中的信息包括课程名称、开课院系和选修人数,并按选课人数排序。正确的命令是A)SELECT课程名称,开课院系,COUNT(课程编号)AS选修人数; FROM学生成绩,课程WHERE课程.课程编号=学生成绩.课程编号; GROUP BY学生成绩.课程编号HAVING COUNT(*)<=2; ORDER BY COUNT(课程编号)B)SELECT课程名称,开课院系,COUNT(学号)选修人数; FROM学生成绩,课程WHERE课程.课程编号=学生成绩.课程编号; GROUP BY学生成绩.学号HAVING COUNT(*)<=2; ORDER BY COUNT(学号)C)SELECT课程名称,开课院系,COUNT(学号)AS选修人数; FROM学生成绩,课程WHERE课程.课程编号=学生成绩.课程编号; GROUPBY课程名称HAVING COUNT(学号)<=2; ORDER BY选修人数D)SELECT课程名称,开课院系,COUNT(学号)AS选修人数; FROM学生成绩,课程HAVING COUNT(课程编号)<=2; GROUP BY课程名称 ORDER BY选修人数


正确答案:C
本题考查SQL语句中使用统计函数的掌握。统计人数可以使用COUNT()函数。在本题中由于学号是惟一的,因而统计人数就可以通过统计学生学号的个数来实现,四个选项中可以排除A、B两个选项,这两个语句都缺少按选修人数进行排序的子句,选项D的错误在于没有设定查询条件,故选项C正确。

第9题:

设有学生选课表 SC( 学号 , 课程号 , 成绩 ) , 用 SQL 检索同时选修课程号为 “ C1 ” 和 “ C5 ” 的学生的学号的正确命令是

A) SELECT 学号 FROM SC WHERE 课程号 = ' C1 ' AND 课程号 = ' C5 '

B) SELECT 学号 FROM SC WHERE 课程号 = ' C1 ' AND 课程号 =(SELECT 课程号 FROM SC WHERE课程号 = ' C5 ' )

C) SELECT 学号 FROM SC WHERE 课程号 = ' C1 ' AND 学号 =(SELECT 学号 FROM SC WHERE 课程号 = ' C5 ' )

D) SELECT 学号 FROM SC WHERE 课程号 = ' C1 ' AND 学号 IN (SELECT 学号 FROM SC WHERE 课程号 = ' C5 ' )


正确答案:D

第10题:

删除学号为“20091001”且课程号为“C1”的选课记录,正确命令是( )。

A.DELETE FROM score WHERE课程号="C1"AND学号="20091001"

B.DELETE FROM score WHERE课程号=”C1”OR学号="20091001"

C.DELETE score WHERE课程号="C1"AND学号="20091001"

D.DELETE score课程号="C1"OR学号="20091001"


正确答案:A
A。【解析】其中“OR”表示“或者”,而题中是“且”,所以要用“AND”,而删除数据的格式为DELETEFROMTable_name[WhereCondition],所以答案为A。

更多相关问题