题目
设教学数据库中有三个基本表:
学生表S(SNO,SNAME,AGE,SEX),其属性分别表示学号、学生姓名、年龄、性别。
课程表C(CNO,CNAME,TEACHER),其属性分别表示课程号、课程名、上课教师名。
选修表SC(SNO,CNO,GRADE),其属性分别表示学号、课程号、成绩。
请完成下列问题:
(1)写出查询张三同学没有选修的课程的课程号的SQL查询语句;
(2)用等价的关系代数表达式表示上述SQL查询语句。
第1题
第2题
第3题
设教学数据库中,有两个基本表:
学生表:S(S#,SNAME,AGE,SEX)
学习表:SC(S#,C#,GRADE)
现有一个SQL语句:
SELECT SEX,AGE,AVG(GRADE)
FROM S,SC
WHERE S.S# = SC.S#
GROUP BY SEX,AGE
ORDER BY 3 DESC;
试写出与此语句等价的汉语查询语句。
第4题
对于教学数据库的三个基本表学生 S(S#,SNAME,AGE,SEX)
学习 SC(S#,C#,GRADE)
课程 C(C#,CNAME,TEACHER)
试用SQL的查询语句表达下列查询:
(1)检索年龄大于23岁的男学生的学号和姓名。
(2)检索WANG同学不学的课程的课程号。
(3)检索全部学生都选修的课程的课程号与课程名。
第5题
对于教学数据库的三个基本表:S(Sno,Sname,Ssex),SC(Sno,Cno,Grade),C(Cno,Cname, Teacher),其中S为学生表,SC为学生选课表,C为课程表,则对于语句:检索至少选修LIU老师所授课课程中一门课程的女生姓名,SQL语句错误的是______。
A.SELECT Sname FROM S,SC,C WHERE S.Sno=SC.Sno AND SC.Cno=C.Cno AND Teacher=‘LIU’AND Ssex=‘F’
B.SELECT Sname FROM S WHERE Ssex=‘F’AND Sno IN (SELECT Sno FROM SC WHERE Cno IN(SELECT Cno FROM C WHERE Teacher=‘LIU’))
C.SELECT Sname FROM S WHERE Ssex=‘F’AND EXISTS (SELECT* FROM SC WHERE SC.Sno=S.Sno AND EXISTS (SELECT*
D.SELECT Sname FROM S WHERE Ssex=‘F’AND EXISTS(SELECT* FROM SC WHERE SC.Sno=S.Sno AND EXISTS (SELECT*
第6题
对于教学数据库的三个基本表:S(Sno,Sname,Ssex),SC(Sno,Cno,Grade),C(Cno,Cname, Teacher),其中S为学生表,SC为学生选课表,C为课程表,则对于语句:检索至少选修LIU老师所授课课程中一门课程的女生姓名,SQL语句错误的是______。
A) SELECT Sname
FROM S,SC,C
WHERE S.Sno=SC.Sno AND SC.Cno=C.Cno AND Teacher=‘LIU’AND Ssex=‘F’
B) SELECT Sname
FROM S WHERE Ssex=‘F’AND Sno IN
(SELECT Sno
FROM SC
WHERE Cno IN(SELECT Cno FROM C
WHERE Teacher=‘LIU’))
C) SELECT Sname
FROM S WHERE Ssex=‘F’AND EXISTS (SELECT*
FROM SC
WHERE SC.Sno=S.Sno AND EXISTS
(SELECT*
FROM C
WHERE Teacher=‘LIU’))
D) SELECT Sname
FROM S WHERE Ssex=‘F’AND EXISTS(SELECT*
FROM SC
WHERE SC.Sno=S.Sno AND EXISTS
(SELECT*
FROM C
WHERE C.Cno=SC.Cno AND Teacher=‘LIU’))
第7题
已知表S(学号,姓名,年龄)
SC(学号,课程号,成绩)
C(课程号,课程名,教师名)
试用SQL查询语句表达下列对教学数据库中的三个基本表S、SC、C的查询:
(1)统计有学生选修的课程门数.
(2)求选修C4课程的学生的平均年龄.
(3)求王平老师所授课程的每门课程的学生平均成绩.
(4)统计每门课程的学生选修人数(超过10人的课程才统计).要求输出课程号和选修人数.
(5)查询姓名以WANG开头的所有学生的姓名和年龄.
第8题
●试题三
对于教学数据库的三个基本表S(S#,SNAME,AGE,SEX),SLLS#,C#,GRADE),C(C#,CNAME,TEACHER)。现根据查询条件填充下面SQL语句空白的部分。
1.检索LIU老师所授课程的课程号和课程名。
2.检索至少选修LIU老师所授课程中一门课程的女学生姓名。
3.检索WANG同学不学的课程的课程名。
4.检索全部学生都选修的课程的课程号与课程名。
5.检索选修课程包含LIU老师所授课程的学生学号。
【说明】
1.SELECT (1) FROM C WHERE TEACHER=′LIU′
2.SELECT S.SNAME FROM S,SC
WHERE S.S#=S
C.S# AND S.SEX=′F′AND S
C.C#= (2)
(SELECTC# FROM C WHERE TEACHER=′LIU′)
3.SELECT CNAME FROM C
WHERE C#<> (3) (SELECTS
C.C# FROM S,SC WHERE S.S#=S
C.S# AND S.SNAME=′WANG′)
4.由题知,该问题是在表C中找课程号和课程名,要求这门课被全部学生所选。
SELECT C#,CNAME
FROM C
WHERE NOT EXISTS
(SELECT*
FROMS
WHERE NOT EXISTS
(SELECT *
FROMS
WHERE NOT EXISTS
(SELECT*
FROM SC
WHERE (4)
5.SELECT DISTINCT S#
FROM SC
WHERE (5)
(SELECT C#
FROM C
WHERE TEACHER=′LIU′)
第9题
下面三个题基于学生一课程数据库中的3个基本表:
学生信息表:s(sno,sname,sex,age,dept)主码为sno
课程信息表:c(cno,cname,teacher)主码为cno
学生选课信息表:sc(sno,cno,grade)主码为(sno,cno)
实现“从学生信息表中找出性别为女的学生姓名”的SQL语句是
A.SELECT * FROM s
B.SELECT * FROM s WHERE sex='女'
C.SELECT sname FROM s WHERE sex='女'
D.SELECT * FROM s WHERE grade="
第10题
为了保护您的账号安全,请在“赏学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!