《数据库原理与技术》-第3章 关系数据库语言SQLppt课件.ppt

《数据库原理与技术》-第3章 关系数据库语言SQLppt课件.ppt

ID:59410713

大小:67.50 KB

页数:30页

时间:2020-09-19

《数据库原理与技术》-第3章  关系数据库语言SQLppt课件.ppt_第1页
《数据库原理与技术》-第3章  关系数据库语言SQLppt课件.ppt_第2页
《数据库原理与技术》-第3章  关系数据库语言SQLppt课件.ppt_第3页
《数据库原理与技术》-第3章  关系数据库语言SQLppt课件.ppt_第4页
《数据库原理与技术》-第3章  关系数据库语言SQLppt课件.ppt_第5页
资源描述:

《《数据库原理与技术》-第3章 关系数据库语言SQLppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第三章关系数据库语言SQL3.1SQL概述SQL语言集数据查询(dataquery)、数据操纵(datamanipulation)、数据定义(datadefinition)和数据控制(datacontrol)功能于一体,充分体现了关系数据语言的特点和优点。1.综合统一2.高度非过程化3.面向集合的操作方式(元组集合)4.以同一种语法结构提供两种使用方式(自含式,嵌入式)5.语言简洁,易学易用13.2数据定义3.2.1定义、删除、修改基本表例1建立一个“学生”表Student,它由学号Sno、姓名Sname、性别Sse

2、x、年龄Sage、所在系Sdept五个属性组成,其中学号属性不能为空,并且其值是唯一的。CREATETABLEStudent(SnoCHAR(5)NOTNULLUNIQUE,SnameCHAR(20),SsexCHAR(2),SageINT,SdeptCHAR(15))22.修改基本表例2向Student表增加“入学时间”列,其数据类型为日期型。ALTERTABLEStudentADDScomeDATE注意:修改原有的列定义有可能会破坏已有数据。33.删除基本表例3删除Student表DROPTABLEStudent

3、注意:基本表定义一旦删除,表中的数据、此表上建立的索引和视图都将自动被删除。3.2.2建立与删除索引1.建立索引CREATE[UNIQUE][CLUSTER]INDEX<索引名>ON<表名>(<列名>[<次序>][,<列名>[<次序>]]…)次序可选ASC(升序)或DESC(降序),缺省为ASC。注意:建立聚簇索引后,更新索引列数据时,往往导致表中记录的物理顺序的变更,代价较大。4例4为学生—课程数据库中的Student,Course两个表建立索引。其中Student表按学号升序建立唯一索引,Course表按课程号降

4、序建立唯一索引。CREATEUNIQUEINDEXStusnoONStudent(Sno)CREATEUNIQUEINDEXCousnoONCourse(CnoDESC)2.删除索引例5删除Student表的Stusname索引DROPINDEXStusname53.3查询1.一般查询以后均以下列三个表为操作对象:Student(Sno,Sname,Ssex,Sage,Sdept)Course(Cno,Cname,Cpno,Credit)SC(Sno,Cno,Grade)6例6查询所有选修过课的学生的学号。SELEC

5、TSno FROMSC等价于SELECTAllSno FROMSC要去掉重复行,应写:SELECTDISTINCTSno FROMSC72.条件查询例7查信息系(IS)、数学系(MA)和计算机科学系(CS)的学生的姓名和性别。SELECTSname,Ssex FROMStudentWHERESdeptIN('IS','MA','CS')例8查询学号为95001的学生的详细情况。SELECT* FROMStudentWHERESnoLIKE’95001’等价于:SELECT* FROMStudentWHERESno='

6、95001'8SQL提供的集函数:COUNT([DISTINCT

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

8、ALL]<列名>)统计一列中值的个数SUM([DISTINCT

9、ALL]<列名>)计算一列值的总和(此列必须是数值型)AVG([DISTINCT

10、ALL<列名>)计算一列值的平均值(此列必须是数值型)MAX([DISTINCT

11、ALLL]<列名>)求一列中最大值MIN([DISTINCT

12、ALL]<列名>)求一列中最小值9例9查询各个课程号与相应的选课人数。SELECTCno,COUNT(Sno)

13、FROMSCGROUPBYCnoHAVING短语作用于组,从中选择满足条件的组。例10查询选修了3门以上课程的学生的学号。SELECTSnoFROMSCGROUPBYSnoHAVINGCOUNT(*)>3103.连接查询例11查询每个学生及其选修课程的情况。SELECTStudent.*,SC.*FROMStudent,SCWHEREStudent.Sno=SC.Sno(列Sno重复)例12自然连接Student和SC表。SELECTStudent.Sno,Sname,Ssex,Sage,Sdept,Cno,Grad

14、eFROMStudent,SCWHEREStudent.Sno=SC.Sno(列Sno不重复)114.带有ANY或ALL谓词的子查询>ANY大于子查询结果中的某个值<ANY小于子查询结果中的某个值>=ANY大于等于子查询结果中的某个值<=ANY小于等于子查询结果中的某个值=ANY等于子查询结果中的某个值!=ANY或<>ANY不等于子查询结果中的

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。