第一范文网 - 专业文章范例文档资料分享平台

《数据库系统概论》复习总结

来源:用户分享 时间:2025/8/30 9:03:06 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

πSno(σJno=‘J1’(SPJ))

(2)求供应工程J1零件P1的供应商号码SNO:

πSno(σJno=‘J1’∧Pno=‘P1‘(SPJ))

(3)求供应工程J1零件为红色的供应商号码SNO:

πSno(σJno=‘J1‘(σCOLOR=’红‘(P)?? SPJ))或 πSno(σJno=‘J1‘(SPJ)??(σCOLOR=’红‘(P))

(4)求没有使用天津供应商生产的红色零件的工程号JNO:

πJno(SPJ)- πJNO(σcity=‘天津’∧Color=‘红‘(S?? SPJ?? P))或 πJno(SPJ)- πJNO(σcity=‘天津’(S)?? SPJ ?? σColor=‘红‘(P)) (5)求至少用了供应商S1所供应的全部零件的工程号JNO:

πJno,Pno(SPJ)÷ πPno(σSno=‘S1‘(SPJ))

第三章 关系数据库标准语言SQL

? 本章内容:SQL概述、数据定义、数据查询、数据更新、视图

? 本章主要考点:基本概念、★★数据查询的基本语句操作、数据更新语句 ? 对应目标4题型:填空10空,10分;写SQL语句5个,10分,共20分。 1、SQL语言是(C)语言。

A.层次数据库 B.网络数据库 C.关系数据库 D.非数据库 2、SQL语言具有两种使用方式,分别称为交互式SQL和(C)。

A.提示式SQL B.多用户SQL C.嵌入式SQL D.解释式SQL

3、假定学生关系是S(S#,SNAME,SEX,AGE),课程关系是C(C#,CNAME,TEACHER),学生选课关系是SC(S#,C#,GRADE)。要查找选修“COMPUTER”课程的“女”学生姓名,将涉及到关系(D)。

A.S B.SC,C C.S,SC D.S,C,SC

4、如下面的数据库的表中,若职工表的主关键字是职工号,部门表的主关键字是部门号,SQL

操作(B)不能执行。

A.从职工表中删除行(‘025’,‘王芳’,‘03’,720) B.将行(‘005,’,‘乔兴’,‘04’,750)插入到职工表中

C.将职工号为,‘001’的工资改为700

D.将职工号为,’038’的部门号改为‘03’

5、在SQL语言中,用来测试一个集合里是否有重复元组存在,使用下列哪一个关键字(A) A.UNIQUE B.DISTINCT C.EXISTS D.NOT IN ★★6、SQL数据查询语句 SELECT语句格式:

SELECT [ALL|DISTINCT] <目标列表达式> [,<目标列表达式>] … FROM <表名或视图名>[, <表名或视图名> ] … [ WHERE <条件表达式> ]

[ GROUP BY <列名1> [ HAVING <条件表达式> ] ]

[ ORDER BY <列名2> [ ASC|DESC ] ]; (注:SQL语句中不区分大小写) ①单表查询

(1)选择表中的若干列: 查询指定列:

例:查询全体学生的学号与姓名

SELECT Sno,Sname FROM Student;

5

查询所有列:(将<目标列表达式>指定为 *) 例:查询全体学生的详细记录。

SELECT * FROM Student;

查询结果计算的值:

例:查全体学生的姓名及其出生年份。

SELECT Sname,2012-Sage /*假定当年的年份为2012年,减去年龄即得出生年份*/ FROM Student;

(2)选择表中的若干元组 取消取值重复的行:(指定DISTINCT关键词,去掉表中重复的行) 例:查询选修了课程的学生号码

SELECT DISTINCT Sno (使用DISTINCT关键词取消了重复学号的行) FROM SC;

查询满足条件的行:(WHERE语句)

例:查询计算机科学系全体学生的名单。(比较) SELECT Sname FROM Student

WHERE Sdept =‘CS’;

例:查询年龄在20~23岁(包括20岁和23岁)之间的学生的姓名、系别和年龄(确定范围) SELECT Sname,Sdept,Sage FROM Student

WHERE Sage BETWEEN 20 AND 23; 例:查询信息系(IS)、数学系(MA)和计算机科学系(CS)学生的姓名和性别。(确定集合) SELECT Sname,Ssex FROM Student

WHERE Sdept IN ( 'IS','MA','CS' );

例:查询学号为200215121的学生的详细情况。(字符匹配) SELECT * FROM Student

WHERE Sno LIKE ‘200215121';

例:某些学生选修课程后没有参加考试,所以有选课记录,但没有考试成绩。查询缺少成绩

的学生的学号和相应的课程号。(空值) SELECT Sno,Cno FROM SC

WHERE Grade IS NULL /*不能用’=’代替IS*/ 例:查询计算机系年龄在20岁以下的学生姓名。(多重条件)

6

SELECT Sname FROM Student

WHERE Sdept= 'CS' AND Sage<20; (3)ORDER BY子句

可以按一个或多个属性列排序。升序:ASC;降序:DESC;缺省值为升序 例:查询选修了3号课程的学生的学号及其成绩,查询结果按分数降序排列。 SELECT Sno,Grade FROM SC

WHERE Cno= ' 3 '

ORDER BY Grade DESC; (4)聚集函数

COUNT([DISTINCT|ALL] *) 统计元组个数

COUNT([DISTINCT|ALL] <列名>) 统计一列中值的个数 SUM([DISTINCT|ALL] <列名>) 计算一列值的总和 AVG([DISTINCT|ALL] <列名>) 计算一列值的平均值 MAX([DISTINCT|ALL] <列名>) 求一列中的最大值 MIN([DISTINCT|ALL] <列名>) 求一列中的最小值 例:计算1号课程的学生平均成绩。

SELECT AVG(Grade) FROM SC

WHERE Cno= ' 1 '; ②多表查询 (1)等值查询

例:查询每个学生及其选修课程的情况 SELECT Student.*,SC.* FROM Student,SC

WHERE Student.Sno = SC.Sno;

(2)嵌套查询

带有IN谓词的子查询:

例:查询与“刘晨”在同一个系学习的学生

SELECT Sno,Sname,Sdept FROM Student WHERE Sdept IN

(SELECT Sdept FROM Student

WHERE Sname=‘ 刘晨 ’); 带有比较运算符的子查询:(当内查询的结果是一个值时,可以用=代替IN) 例:查询与“刘晨”在同一个系学习的学生

SELECT Sno,Sname,Sdept FROM Student WHERE Sdept =

(SELECT Sdept FROM Student

WHERE Sname=‘ 刘晨 ’); 带有ANY或ALL谓词的子查询

7

例:查询其他系中比计算机科学某一学生年龄小的学生姓名和年龄 SELECT Sname,Sage FROM Student

WHERE Sage < ANY (SELECT Sage FROM Student WHERE Sdept= ' CS ')

AND Sdept <> ‘CS ' ; /*这句是父查询块中的条件 */ 带有EXISTS谓词的子查询:

相当于存在量词?,带有EXISTS谓词的子查询不返回任何数据,只产生逻辑真值“true”或逻辑假值“false”。

例:查询所有选修了1号课程的学生姓名。

SELECT Sname FROM Student WHERE EXISTS

(SELECT * FROM SC

WHERE Sno=Student.Sno AND Cno= ' 1 '); (3)集合查询

集合操作的种类:并操作UNION,交操作INTERSECT,差操作EXCEPT 例:查询计算机科学系的学生及年龄不大于19岁的学生。(并) SELECT * FROM Student

WHERE Sdept= 'CS' UNION SELECT * FROM Student

WHERE Sage<=19;

例:查询计算机科学系的学生与年龄不大于19岁的学生(交) SELECT * FROM Student

WHERE Sdept='CS' INTERSECT SELECT * FROM Student

WHERE Sage<=19

例:查询计算机科学系的学生与年龄不大于19岁的学生。(差)

8

搜索更多关于: 《数据库系统概论》复习总结 的文档
《数据库系统概论》复习总结.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c0ipv570uhy9kfa2517te4mn0g1mmhw00jnb_2.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top