查询选修了课程号为“C2”的学生号和姓名,若用下列SQL的SELECT语句表达时,哪一个是错误的?
A.SELECT S.S#,SNAME FROM S WHERE S.S# (SELECT SC. S# FROM SC WHERE C#='C2')
B.SELECT S.S#,SNAME FROMS,SC WHERE S.S#=SC.S# AND C#='C2'
C.SELECT S.S#,SNAME FROM S,SC WHERE S.S=SC.S# AND C#='C2'ORDER BY S.S#.
D.SELECTS.S#,SNAME FROM S WHERE S.S# IN(SELECT SC. S# FROM SC WHERE C#='C2')
第1题:
(41)若要查询“选修了课程号为C2的学生的学生号”,正确的表达是( ).
Ⅰ、pS#(sC#=′C2′(SC)) Ⅱ、sC#=′C2′(pS# (S))
Ⅲ、SELECT S# FROM SC WHERE C#=′C2′
A)仅Ⅰ和Ⅱ
B)仅Ⅱ和Ⅲ
C)仅Ⅰ和Ⅲ
D)都正确
第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题:
查询选修了课程号为\'C2\'的学生号和姓名,若用下列SQL的SELECT语句表达时,哪一个是错误的?
A.SELECT S.S#,SNAME FROM S WHERE S.S#
= (SELECT SC.S# FROM SC WHERE C# = 'C2' )
B.SELECT S.S#,SNAME FROM S,SC
WHERE S.S# = SC.S# AND C# = 'C2'
C.SELECT S.S#,SNAME FROM S,SC
WHERE S.S# = SC.S# AND C# = 'C2' ORDER BY S.S#
D.SELECT S.S#,SNAME FROM S WHERE S.S#
IN (SELECT SC.S# FROM SC WHERE C# ='C2' )
第4题:
已知表S(学号,姓名,年龄)
SC(学号,课程号,成绩)
C(课程号,课程名,教师名)
试用SQL查询语句表达下列对教学数据库中的三个基本表S、SC、C的查询:
(1)统计有学生选修的课程门数.
(2)求选修C4课程的学生的平均年龄.
(3)求王平老师所授课程的每门课程的学生平均成绩.
(4)统计每门课程的学生选修人数(超过10人的课程才统计).要求输出课程号和选修人数.
(5)查询姓名以WANG开头的所有学生的姓名和年龄.
第5题:
当前目录下有XUESH.dbf和CHJI.dbf两个表文件,要求查找同时选修了课程号为“9801”和“9802”的学生姓名,下列SQL语句的空白处应填入的语句为( )。
SELECT 姓名 FROM XUESH,CHJI; WHERE XUESH.学号=CHJI.学号; AND 课程号="9801"; AND 姓名______(SELECT 姓名 FROM XUESH,CHJI; WHERE XUESH.学号=CHJI.学号; AND 课程号="9802")
A.IN
B.EXITS
C.LIKE
D.ALL
第6题:
当前目录下有student和coure两个表文件,要求查找同时选修了课程号为"0001"和"0002"的学生姓名,语句为: SELECT 姓名 FROM student,coure; WHERE student.学号=coure.学号; AND 课程号="0001"; AND 姓名【 】; (SELECT 姓名 FROM student, coure; WHERE student.学号=coure.学号; AND 课程号="0002")
第7题:
查询选修课程号为“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”)
第8题:
●已知基本表:学生(学号,姓名,性别,年龄,系名)
选课(学号,课程号,成绩)
要检索所有比"王华"年龄大的学生姓名、年龄和性别,正确的语句是 (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学生.学号
第9题:
已知学生选课信息表:sc(sno,cno,grade)。查询“至少选修了一门课程,但没有学习成绩的学生学号和课程号”的SQL语句是
A.SELECT sno,cno FROM sc WHERE grade=NULL
B.SELECT sno,cno FROM sc WHERE grade IS‘’
C.SELECT sno,cno FROM sc WHERE grade IS NULL
D.SELECT sno,cno FROM sc WHERE grade=‘’
第10题:
查询选修C2课程号的学生姓名,下列SQL语句中错误的是 ______。
A.SELECT 姓名 FROM S WHERE EXISTS (SELECT*FROM SC WHERE 学号=S.学号 AND 课程号='C2')
B.SELECT 姓名 FROM S WHERE 学号 IN (SELECT 学号 FROM SC WHERE 课程号='C2')
C.SELECT 姓名 FROM S JOIN SC ON S.学号=SC.学号 WHERE 课程号='C2'
D.SELECT 姓名 FROM S WHERE 学号= (SELECT 学号 FROM SC WHERE 课程号='C2')