SELECT学生.学号,姓名FROM学生,选课WHERE学生.学号=选课.学号AND课程号=101AND成绩>=ALL(SELECT成绩FROM选课)
SELECT学生.学号,姓名FROM学生,选课WHERE学生.学号=选课.学号AND成绩>=ALL(SELECT成绩FROM选课WHERE课程号=101)
SELECT学生.学号,姓名FROM学生,选课WHERE学生.学号=选课.学号AND成绩>=ANY(SELECT成绩FROM选课WHERE课程号=101)
SELECT学生.学号,姓名FROM学生,选课WHERE学生.学号=选课.学号AND课程号=101AND成绩>=(SELECT成绩FROM选课WHERE课程号=101)
第1题:
学生表: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
)
第2题:
查询选修课程号为“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”)
第3题:
(一)编写SQL语句
以下各小题题基于教学数据库的三个基本表
学生 S(S#,SNAME,AGE,SEX)
学习 SC(S#,C#,GRADE)
课程 C(C#,CNAME,TEACHER)
1. 试用元组表达式和关系代数表达式表示下列查询语句:检索年龄小于23岁的男同学的姓名和学号。
2. 试用SQL的查询语句表达下列查询: 检索"王兰"同学不学的课程的课程号。
3. 试用SQL的查询语句表达下列查询: 检索全部学生都选修的课程的课程号与课程名。
4.试用SQL更新语句表达以下更新操作:把低于总平均成绩的女同学成绩提5%。
答案:
元组表达式:{t|(?u)(S(u)∧u[3]<23∧u[4]='男'∧t[1]=u[1]∧t[2]=u[2])}
关系代数表达式:πS#,SNAME(σAGE<23∧SEX='男'(S))
select C# from C where C# not in(select C# from SC where S# in(select S# from S where SNAME='王兰'))
select C#,CNAME from C where not exists(select * from S where not exists(select * from SC where SC.S#=S.S# and SC.C#=C.C#))
update SC set GRADE=GRADE*1.05 where GRADE<(select AVG(GRADE) from SC) and S# in(select S# from S where SEX='女')
第4题:
已知表S(学号,姓名,年龄)
SC(学号,课程号,成绩)
C(课程号,课程名,教师名)
试用SQL查询语句表达下列对教学数据库中的三个基本表S、SC、C的查询:
(1)统计有学生选修的课程门数.
(2)求选修C4课程的学生的平均年龄.
(3)求王平老师所授课程的每门课程的学生平均成绩.
(4)统计每门课程的学生选修人数(超过10人的课程才统计).要求输出课程号和选修人数.
(5)查询姓名以WANG开头的所有学生的姓名和年龄.
第5题:
若有如下SQL查询语句: SELECT课程名称,开课系名,COUNT(学号)AS选修人数; FROM成绩,课程; WHERE课程.课程编号=成绩.课程编号; GROUP BY课程名称; HAVING COUNT(*)>3 上述语句所表示的含义是( )。
A.检索开课在3门以上的开课系名、课程名称和选修人数
B.检索选修了3门课程以上的学生记录,显示结果包括课程名称、开课系名和选修人数
C.检索每门课程中,有3人以上选修该课程的记录,显示结果包括课程名称、开课系名和选修人数
D.检索选修人数最多的3门课程的记录,显示结果包括课程名称、开课系名和选修人数
第6题:
设有关系SC(SNO,CNO,GRADE),其中SNO、CNO分别表示学号和课程号(两者均为字符型),GRADE表示成绩(数值型)。若要把学号为“S101”的同学,选修课程号为:“C11”,成绩为98分的记录插入到表SC中,正确的语句是______。
A.INSERT INTO SC(SNO,CNO,GRADE) VALUES('S101','C11','98')
B.INSERT INTO SC(SNO,CNO,GRADE) VALUES(S101,C11,98)
C.INSERT ('S101','C11','98') INTO SC
D.INSERT INTO SC VALUES ('S101','C11',98)
第7题:
在“查询选修课程号为4,且成绩在80分以上的所有学生的学号”的SQL语句中,将使用的表是( )。
A)学生信息表s
B)学生信息表s和课程信息表c,
C)学生信息表s、课程信息表c和学生选课信息表sc
D)学生选课信息表sc
第8题:
设有关系模式:成绩(学号,课程号,分数),则下列选项中,能正确描述SQL语句 “SELECT’学号FROM成绩GROUP BY 学号HAVING COUNT(*)>3”功能的是
A.查询选修了3门以上课程的学生的学号
B.查询1门课程有3个以上学生选修的学生学号
C.将学生按照学号分成了3组
D.将学生按照课程分成了3组
第9题:
利用SQL语句统计选修了“日语”课程的学生人数。请将下列的语句补充完整。SELECT______FROM 选课表 WHERE课程名="日语"
第10题:
假定学号的第3、4位为专业代码,要计算各专业学生选修课程号为“1O1”课程的平均成绩,正确的SQL语句是( )。
A.SELECT专业AS SUBS(学号,3,2),平均分AS AVG(成绩)FROM选课 WHERE课程号=”101”GROUP BY专业
B.SELECT SUBS(学号,3,2)AS专业,AVG(成绩)AS 平均分FROM选课 WHERE课程号=”101”GROUP BY 1
C.SELECT SUBS(学号,3,2)AS专业,AVG(成绩)AS 平均分FROM选课 WHERE课程号=”101”ORDER BY专业
D.SELECT专业AS SUBS(学号,3,2),平均分AS AVG(成绩)FROM选课 WHERE课程号=”101”ORDER BY 1