第三章课后作业教材Word文档下载推荐.docx
- 文档编号:15846251
- 上传时间:2022-11-16
- 格式:DOCX
- 页数:10
- 大小:42.44KB
第三章课后作业教材Word文档下载推荐.docx
《第三章课后作业教材Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《第三章课后作业教材Word文档下载推荐.docx(10页珍藏版)》请在冰豆网上搜索。
FROMSCASX,SCASY
WHEREX.SNO=Y.SNOANDX.CNO!
=Y.CNO
(5)检索至少有学号01和02学生选修的课程的课程号
SELECTDISTINCTX.CNO
WHEREX.CNO=Y.CNOANDX.SNO='
01'
ANDY.SNO='
02'
;
(6)检索小红同学不学的课程的课程号
SELECTCNO
WHERENOTEXISTS(SELECT*
FROMS,SC
WHERES.SNO=SC.SNOANDSC.CNO=C.CNOANDSNAME='
小红'
);
(7)检索全部学生都选修的课程的课程号与课程名
WHERENOTEXISTS(SELECT*
WHERESC.SNO=S.SNOANDSC.CNO=C.CNO));
(8)检索选修课程中包含马艳老师所授全部课程的学生学号
SELECTDISTINCTSNO
FROMSCASX
WHERENOTEXISTS
(SELECT*
FROMC,T
WHEREC.TNO=T.TNOANDTname='
杨红'
ANDNOTEXISTS
FROMSCASY
WHEREY.SNO=X.SNOANDY.CNO=X.CNO));
习题3.4
设有两个基本表R(A,B,C)和S(A,B,C),试用SQL查询语句表达下列关系代数表达式:
①
(SELECT
*
FROM
R)
UNION
S);
②
INTERSECT
③
MINUS
④
SELECT
R,
S;
⑤
R.A,
R.B,
S.C
S
WHERE
R.B=S.B;
⑥
R.C=S.A;
⑦
R.*
(R.*表示R中全部属性)
R.C=S.C;
⑧SELECT
A,
B
R
RX
NOT
EXISTS
(
RY
RY.A=RX.A
AND
RY.B=RX.B
RY.C=S.C));
习题3.7
试用SQL查询语句表达下列对3.2题的教学数据中4个基本表T、C、S、SC的查询:
1统计有学生选修的课程门数
COUNT(DISTINCT
TEACHER)
C;
2
求选修C4课程的女学生的平均年龄
AVG(AGE)
S,
SC
S.S#=SC.S#
C#=’C4’
SEX=’F’;
3
求LIU老师所授课程的每门课程的平均成绩
C.C#,AVG(GRADE)
FROM
SC,C
WHERE
SC.C#=C.C#
TEACHER=‘LIU’GROUPBYC.C#;
4
统计每门课程的学生选修人数(超过10人的课程才统计)。
要求显示课程号和人数,查询结果按人数降序排序,若人数相同,按课程号升序排列。
S#,
COUNT(C#)
GROUP
BY
S#
HAVING
COUNT(*)>
5
ORDER
2
DESC,
1;
5
检索学号比WANG同学大,而年龄比他小的学生姓名。
SNAME
S#>
ALL(SELECT
S#
SNAME=’WANG’)
AGE<
SNAME=’WANG’);
6
在表SC中检索成绩为空值的学生学号和课程号。
C#
GRADE
IS
NULL;
7
检索姓名以L打头的所有学生的姓名和年龄。
SNAME,
AGE
LIKE
’L%’;
8
求年龄大于女同学平均年龄的男学生姓名和年龄。
SEX=’M’
AGE>
SEX=’F’);
9
求年龄大于所有女同学年龄的男学生姓名和年龄。
习题3.12
试用SQL更新语句表达对3.2题教学数据库中关系S、SC、C的更新操作:
1
往关系C中插一个课程元组('
C8'
,'
VC++'
BAO'
)。
INSERT
INTO
C
VALUES('
);
检索所授每门课程平均成绩均大于80分的教师姓名,并把检索到的值送往另一个已存在的表FACULTY(TNAME)。
INSERT
FACULTY(TNAME)
SELECT
DISTINCT
TEACHER
(SELECT
TEACHER,
C.C#,
AVG(GRADE)
BY
TEACHER,
C.C#)
AS
RESULT(TEACHER,
C#,
AVG_GRADE)
X
80<
=ALL(SELECT
AVG_GRADE
FROM
RESULT
Y
WHERE
Y.TEACHER=X.TEACHER);
③在SC中删除尚无成绩的选课元组。
DELETE
把选修LIU老师课程的女同学选课元组全部删去。
DELETE
S#
IN(SELECT
S
WHERE
SEX='
F'
)
C#
C#
C
TEACHER='
LIU'
把MATHS课不及格的成绩全改为60分。
UPDATE
SET
GRADE=60
GRADE<
60
AND
C#
IN(SELECT
C#
CNAME='
MATHS'
把低于所有课程总平均成绩的女同学成绩提高5%。
UPDATE
SET
GRADE=GRADE*1.05
IN(SELECT
SC);
在表SC中修改C4课程的成绩,若成绩小于等于70分时提高5%,若成绩大于70
分时提高4%(用两种方法实现,一种方法是用两个UPDATE语句实现,另一种方法是用带CASE操作的一个UPDATE语句实现)。
GRADE=GRADE*CASE
WHEN
GRADE>
70
THEN
1.04
ELSE
1.05
END
C#='
C4'
;
⑧
在表SC中,当某个成绩低于全部课程的平均成绩时,提高5%。
习题3.13
设数据库中有三个关系:
职工表
EMP(E#,ENAME,AGE,SEX,ECITY),
其属性分别表示职工工号、姓名、年龄、性别和籍贯。
工作表
WORKS(E#,C#,SALARY),
其属性分别表示职工工号、工作的公司编号和工资。
公司表
COMP(C#,CNAME,CITY),
其属性分别表示公司编号、公司名称和公司所在城市。
试用SQL语句写出下列操作:
用CREATE
TABLE语句创建上述三个表,需指出主键和外键。
CREATE
TABLE
EMP
E#
CHAR(4)
NULL,
ENAME
CHAR(8)
NULL,
(2003/9/21)
(GJ-DA)
(共2页)
目录--36
SMALLINT,
SEX
CHAR
(1),
ECITY
CHAR(20),
PRIMARY
KEY(E#));
COMP
CNAME
CHAR(20)
CITY
KEY(C#));
WORKS
SALARY
KEY(E#,
C#),
FOREIGN
KEY(E#)
REFERENCES
EMP(E#),
KEY(C#)
COMP(C#));
检索超过50岁的男职工的工号和姓名。
E#,
50
假设每个职工只能在一个公司工作,检索工资超过1000元的男性职工工号和姓名。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第三 课后 作业 教材