- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据库选修课_关系数据库教程
Page *;Page *;§ 2.1 关系模型;关系模式;关系的性质;2.关系模型的数据操作;3.关系模型的数据完整性约束;四类完整性约束;引用(参照)完整性(RI,Referential Integrity);引用完整性;值域完整性(DI,Domain Integrity );用户定义的完整性;Page *;Page *;Page *;Page *;Page *;Page *;Page *;Page *;Page *;Page *;SQL语言功能概要;阅读:SQL语言的发展;阅读:SQL语言的特点;2. SQL语言的数据类型;1)数值型;2) 字符型;3) 日期时间型;4) 货币型;SQL语言的数据定义语句;1. 表的定义与删除;例:创建student表;例:创建course表;例:创建SC表;说明:
删除表时会将表结构和表中的数据一起删除
例:删除test表
DROP TABLE test ;3) 修改表结构;更新:插入、删除、修改
表中插入一行数据:
insert into student (…) VALUES (…)
修改(更新)表中数据:
UPDATE student SET Sage=Sage+1
删除数据:
DELETE SC WHERE Grade 60
清空整个表:
TRUNCATE TABLE SC;1. 插入数据;2. 更新数据;3. 删除数据;4. 清空整个表;查询表中记录: SELECT语句, 可完成
单表查询、多表联合查询、视图查询
查询结果可0行、1行或多行,是一个记录集;SELECT语句的说明;2.5.1 简单查询;查询全部列;查询经过计算的列;避免查询结果中的重复行;查询结果按列的值排序;2. 选择表中若干元组(行);带条件的查询-比较大小;带条件的查询-确定范围;带条件的查询-确定集合;带条件的查询-相似字符串匹配;相似字符串匹配(Cont.);带条件的查询-空值;带条件的查询-多重条件;3. 使用计算函数汇总数据;使用计算函数汇总数据;4. 对查询结果进行分组计算;例2:查询每名学生的选课门数和平均成绩
SELECT Sno AS 学号, COUNT(*) AS 选课数,
AVG(Grade) AS 平均成绩
FROM SC
GROUP BY Sno;结果分组(Cont.);2.5.2 多表连接查询;多表连接查询-内连接(Cont.);例1:查询每名学生的情况及其选课情况。
SELECT *
FROM student JOIN SC ON student.Sno = SC.Sno
注意: 结果中有重复的Sno列;可为表指定别名,以简化书写。但一旦指定别名,用到该表名的地方都必须使用别名;2. 多表连接查询-自连接;2. 多表连接查询-自连接(Cont.);3. 多表连接查询-外连接;多表连接查询-外连接;2.5.4 子查询;1. 使用子查询进行基于集合的测试
子查询返回的结果是一个集合
用IN(或NOT IN)操作符比较集合中的数据;例2:查询成绩小于60分的学生及其课程
SELECT a.Sno, Sname, Sdept, b.Cname, Grade
FROM student a JOIN SC
ON a.Sno = SC.Sno
JOIN course b
ON b.Cno = SC.Cno
WHERE a.Sno IN
( SELECT Sno
FROM SC
WHERE Grade 60)
AND Grade 60 ;2. 使用子查询进行比较测试
要求子查询返回的结果是单一值,不能是集合
用比较运算符与子查询返回的值进行比较
例:查询选修了c02课程且成绩大于此课程平均成绩的学生,列出学号和成绩。
SELECT Sno, Grade FROM SC
WHERE Cno = c02
AND Grade
( SELECT AVG(Grade)
FROM SC
文档评论(0)