高等教育chp关系数据库标准语言.pptx
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 高等教育 chp 关系 数据库 标准 语言
- 资源描述:
-
学习指导学习指导v关系模型和关系数据库是本课程的重点,第三章又关系模型和关系数据库是本课程的重点,第三章又是重点中的重点。是重点中的重点。(1 1)需要了解的:)需要了解的:SQLSQL语言发展过程。语言发展过程。(2 2)需要牢固掌握的:掌握)需要牢固掌握的:掌握SQLSQL语言的特点、语言的特点、SQLSQL语语言与非关系模型(层次模型、网状模型)数据库语言与非关系模型(层次模型、网状模型)数据库语言的不同;体会面向过程的语言和言的不同;体会面向过程的语言和SQLSQL语言的区别语言的区别和优点。和优点。(3 3)需要举一反三的:熟练而正确地使用)需要举一反三的:熟练而正确地使用SQLSQL语言完语言完成对数据库的查询、插入、删除、更新操作,特别成对数据库的查询、插入、删除、更新操作,特别是各种各样的查询,掌握是各种各样的查询,掌握SQLSQL语言强大的查询功能。语言强大的查询功能。(4 4)难点:用)难点:用SQLSQL语言正确完成复杂查询。因此在学语言正确完成复杂查询。因此在学习的过程中一定要多练习,要在某一个习的过程中一定要多练习,要在某一个DBMSDBMS产品上产品上进行实际运行,检查查询的结果是否正确。进行实际运行,检查查询的结果是否正确。第三章第三章 关系数据库标准语言关系数据库标准语言SQL3.1 SQL概述概述3.2 学生学生-课程数据库课程数据库3.3 数据定义数据定义3.4 数据查询数据查询3.5 数据更新数据更新3.6 视图视图3.7 小结小结3.1 SQL概述概述vSQL(Structured Query Language)结构化查询语言,是关系数据库的标准语言结构化查询语言,是关系数据库的标准语言vSQL是一个通用的、功能极强的关系数据库语言是一个通用的、功能极强的关系数据库语言SQL概述(续)概述(续)v3.1.1 SQL 的产生与发展的产生与发展v3.1.2 SQL的特点的特点v3.1.3 SQL的基本概念的基本概念SQL标准的进展过程标准的进展过程 标准标准 大致页数大致页数 发布日期发布日期nSQL/86 1986.10nSQL/89(FIPS 127-1)120页页 1989年年nSQL/92 622页页 1992年年nSQL99 1700页页 1999年年nSQL2003 2003年年3.1 SQL概述概述v3.1.1 SQL 的产生与发展的产生与发展v3.1.2 SQL的特点的特点v3.1.3 SQL的基本概念的基本概念3.1.2 SQL的特点的特点1.综合统一综合统一n集数据定义语言(集数据定义语言(DDL),数据操纵语言),数据操纵语言(DML),数据控制语言(),数据控制语言(DCL)功能于一体。)功能于一体。n可以独立完成数据库生命周期中的全部活动:可以独立完成数据库生命周期中的全部活动:定义关系模式,插入数据,建立数据库;定义关系模式,插入数据,建立数据库;对数据库中的数据进行查询和更新;对数据库中的数据进行查询和更新;数据库重构和维护数据库重构和维护 数据库安全性、完整性控制等数据库安全性、完整性控制等n用户数据库投入运行后,可根据需要随时逐步修改用户数据库投入运行后,可根据需要随时逐步修改模式,不影响数据的运行。模式,不影响数据的运行。n数据操作符统一数据操作符统一2.高度非过程化高度非过程化v非关系数据模型的数据操纵语言非关系数据模型的数据操纵语言“面向过程面向过程”,必须制定存取路径必须制定存取路径vSQL只要提出只要提出“做什么做什么”,无须了解存取路径。,无须了解存取路径。v 存取路径的选择以及存取路径的选择以及SQL的操作过程由系统自动的操作过程由系统自动完成。完成。3.面向集合的操作方式面向集合的操作方式v非关系数据模型采用面向记录的操作方式,操作对非关系数据模型采用面向记录的操作方式,操作对象是一条记录象是一条记录vSQL采用集合操作方式采用集合操作方式 操作对象、查找结果可以是元组的集合操作对象、查找结果可以是元组的集合 一次插入、删除、更新操作的对象可以是元组的集合一次插入、删除、更新操作的对象可以是元组的集合4.以同一种语法结构提供多种使用方式以同一种语法结构提供多种使用方式vSQL是独立的语言是独立的语言 能够独立地用于联机交互的使用方式能够独立地用于联机交互的使用方式vSQL又是嵌入式语言又是嵌入式语言 SQL能够嵌入到高级语言(例如能够嵌入到高级语言(例如C,C+,Java)程序中,供程序员设计程序时使用)程序中,供程序员设计程序时使用5.语言简洁,易学易用语言简洁,易学易用vSQL功能极强,完成核心功能只用了功能极强,完成核心功能只用了9个动词。个动词。3.1 SQL概述概述v3.1.1 SQL 的产生与发展的产生与发展v3.1.2 SQL的特点的特点v3.1.3 SQL的基本概念的基本概念SQL的基本概念(续)的基本概念(续)SQL视图视图2视图视图1基本表基本表2基本表基本表1基本表基本表3基本表基本表4存储文件存储文件2存储文件存储文件1外模式外模式模模 式式内模式内模式SQL支持关系数据库三级模式结构支持关系数据库三级模式结构SQL的基本概念(续)的基本概念(续)v基本表基本表n本身独立存在的表本身独立存在的表nSQL中一个关系就对应一个基本表中一个关系就对应一个基本表n一个一个(或多个或多个)基本表对应一个存储文件基本表对应一个存储文件n一个表可以带若干索引一个表可以带若干索引v存储文件存储文件n逻辑结构组成了关系数据库的内模式逻辑结构组成了关系数据库的内模式n物理结构是任意的,对用户透明物理结构是任意的,对用户透明v视图视图n从一个或几个基本表导出的表从一个或几个基本表导出的表n数据库中只存放视图的定义而不存放视图对应的数据数据库中只存放视图的定义而不存放视图对应的数据n视图是一个虚表视图是一个虚表n用户可以在视图上再定义视图用户可以在视图上再定义视图第三章第三章 关系数据库标准语言关系数据库标准语言SQL3.1 SQL概述概述3.2 学生学生-课程数据库课程数据库3.3 数据定义数据定义3.4 数据查询数据查询3.5 数据更新数据更新3.6 视图视图3.7 小结小结3.2 学生学生-课程课程 数据库数据库v学生-课程模式S-T:学生表:Student(Sno,Sname,Ssex,Sage,Sdept)课程表:Course(Cno,Cname,Cpno,Ccredit)学生选课表:SC(Sno,Cno,Grade)Student表表学学 号号Sno姓姓 名名Sname性性 别别 Ssex年年 龄龄 Sage所所 在在 系系 Sdept200215121200215122200215123200515125李勇李勇刘晨刘晨王敏王敏张立张立男男女女女女男男20191819CSCSMAISCourse表表课程号课程号Cno课程名课程名Cname先行课先行课Cpno学分学分Ccredit1234567数据库数据库数学数学信息系统信息系统操作系统操作系统数据结构数据结构数据处理数据处理PASCAL语言语言516764243424SC表表学学 号号Sno 课程号课程号 Cno 成绩成绩 Grade 200215121 200215121 200215121 200215122 200215122 1 2 3 2 3 92 85 88 90 80第三章第三章 关系数据库标准语言关系数据库标准语言SQL3.1 SQL概述概述3.2 学生学生-课程数据库课程数据库3.3 数据定义数据定义3.4 数据查询数据查询3.5 数据更新数据更新3.6 视图视图3.7 小结小结3.3 数据定义数据定义 SQL的数据定义功能的数据定义功能:模式定义、表定义、视图和索引的定义模式定义、表定义、视图和索引的定义 3.3 数据定义数据定义v3.3.1 基本表的定义、删除与修改基本表的定义、删除与修改v3.3.2 索引的建立与删除索引的建立与删除3.3.1 基本表的定义、删除与修改基本表的定义、删除与修改一、定义基本表一、定义基本表CREATE TABLE (,););如果完整性约束条件涉及到该表的多个属性列,则如果完整性约束条件涉及到该表的多个属性列,则必须定义在表级上,否则既可以定义在列级也可以必须定义在表级上,否则既可以定义在列级也可以定义在表级。定义在表级。学生表表Student例例5 建建立立“学学生生”表表Student,学学号号是是主主码码,姓姓名名取取值唯一。值唯一。CREATETABLEStudent(SnoCHAR(9)PRIMARYKEY,/*列级完整性约束条件*/SnameCHAR(20)UNIQUE,/*Sname取唯一值*/SsexCHAR(2),SageSMALLINT,SdeptCHAR(20);主码主码课程表课程表Course 例例6 6 建立一个建立一个“课程课程”表表CourseCourseCREATETABLECourse(CnoCHAR(4)PRIMARYKEY,CnameCHAR(40),CpnoCHAR(4),CcreditSMALLINT,FOREIGNKEY(Cpno)REFERENCESCourse(Cno);先修课先修课 Cpno是外码是外码 被参照表是被参照表是Course被参照列是被参照列是Cno学生选课表学生选课表SC 例例7 建立一个建立一个“学生选课学生选课”表表SCSCCREATETABLESC(SnoCHAR(9),CnoCHAR(4),GradeSMALLINT,PRIMARYKEY(Sno,Cno),/*主码由两个属性构成,必须作为表级完整性进行定义*/FOREIGNKEY(Sno)REFERENCESStudent(Sno),/*表级完整性约束条件,Sno是外码,被参照表是Student*/FOREIGNKEY(Cno)REFERENCESCourse(Cno)/*表级完整性约束条件,Cno是外码,被参照表是Course*/);28n常用完整性约束常用完整性约束n主码约束:主码约束:PRIMARY KEYn唯一性约束:唯一性约束:UNIQUEn非空值约束:非空值约束:NOT NULLn参照完整性约束参照完整性约束PRIMARY KEY与 UNIQUE的区别?在一个表中只能定义一个在一个表中只能定义一个PRIMARY KEY,不允许空值不允许空值;而而UNIQUE可定义多个可定义多个,且允且允许空值。许空值。二、数据类型二、数据类型vSQL中域的概念用中域的概念用数据类型数据类型来实现来实现v定义表的属性时定义表的属性时 需要指明其数据类型及长度需要指明其数据类型及长度 v选用哪种数据类型选用哪种数据类型 n取值范围取值范围 n要做哪些运算要做哪些运算 二、数据类型二、数据类型数据类型数据类型含义含义CHAR(n)长度为长度为n的定长字符串的定长字符串VARCHAR(n)最大长度为最大长度为n的变长字符串的变长字符串INT长整数(也可以写作长整数(也可以写作INTEGER)SMALLINT短整数短整数NUMERIC(p,d)定点数,由定点数,由p位数字(不包括符号、小数点)组成,小数后面有位数字(不包括符号、小数点)组成,小数后面有d位数字位数字REAL取决于机器精度的浮点数取决于机器精度的浮点数Double Precision取决于机器精度的双精度浮点数取决于机器精度的双精度浮点数FLOAT(n)浮点数,精度至少为浮点数,精度至少为n位数字位数字DATE日期,包含年、月、日,格式为日期,包含年、月、日,格式为YYYY-MM-DDTIME时间,包含一日的时、分、秒,格式为时间,包含一日的时、分、秒,格式为HH:MM:SSSQL Server支持的数据类型支持的数据类型v精度:指数值中所存储的十进制数据的总位数。精度:指数值中所存储的十进制数据的总位数。v小数位数:指数值数据中小数点右边可以有的数字位数小数位数:指数值数据中小数点右边可以有的数字位数的最大值。如的最大值。如3568.863的精度为的精度为7,小数位数为,小数位数为3。v长度:指存储数据所使用的字节数。长度:指存储数据所使用的字节数。32数据类型符号标识精度小数位数长度(字节)整数型Bigint(大整数)1908Int(整数)1004Smallint(短整数)502Tinyint(微短整数)301数值型(整数部分和小数部分)P-精度s-小数位Decimal(p,s)19101920282938Decimal(6,3)591317Numeric(P,s)Numeric(8,4)33数据类型符号标识精度小数位数长度(字节)浮点型N:153Float(n)Real1247位255315位7备注:用科学记数法表示484货币型Moneysmallmoney19104484位型Bit8bit=1字节1只存储0和1字符型Char(n)固定长度n:18000默认n=1Varchar(n)可变长度34数据类型符号标识精度小数位数 长度(字节)文本型textntext默认16二进制型birnary(n)Varbirnary(n)n+4实际输入+4日期时间型datetimesmalldatetime1753.1.19999.12.311900.1.12079.6.684图象数据类型image四、修改基本表四、修改基本表ALTER TABLE ADD 完整性约束完整性约束 DROP ALTER COLUMN ;36例例8向向Student表表增增加加“入入学学时时间间”列列,其其数数据据类型为日期型。类型为日期型。ALTER TABLE Student ADD S_entrance DATE;l不不论论基基本本表表中中原原来来是是否否已已有有数数据据,新新增增加加的的列列一律为空值。一律为空值。37例例9将年龄的数据类型由字符型(假设原来将年龄的数据类型由字符型(假设原来的数据类型是字符型)改为整数。的数据类型是字符型)改为整数。ALTER TABLE Student ALTER COLUMN Sage INT;38例例10增加课程名称必须取唯一值的约束条件。增加课程名称必须取唯一值的约束条件。ALTERTABLECourseADDUNIQUE(Cname);五、删除基本表五、删除基本表 DROPTABLERESTRICT|CASCADE;nRESTRICT:删除表是有限制的。欲删除的基本表不能被其他表的约束所引用如果存在依赖该表的对象,则此表不能被删除nCASCADE:删除该表没有限制。在删除基本表的同时,相关的依赖对象一起删除删除基本表删除基本表(续续)例11删除Student表DROPTABLEStudentCASCADE;n基本表定义被删除,数据被删除n表上建立的索引、视图、触发器等一般也将被删除3.3 数据定义数据定义v3.3.1 模式的定义与删除模式的定义与删除v3.3.2 基本表的定义、删除与修改基本表的定义、删除与修改v3.3.3 索引的建立与删除索引的建立与删除3.3.3 索引的建立与删除索引的建立与删除v建立索引的目的:加快查询速度建立索引的目的:加快查询速度v谁可以建立索引谁可以建立索引DBA 或或 表的属主(即建立表的人)表的属主(即建立表的人)DBMS一般会自动建立以下列上的索引一般会自动建立以下列上的索引 PRIMARY KEY UNIQUEv谁谁 维护索引维护索引 DBMS自动完成自动完成v使用索引使用索引 DBMS自动选择是否使用索引以及使用哪些索引自动选择是否使用索引以及使用哪些索引索索 引引vRDBMS中索引一般采用中索引一般采用B+树、树、HASH索引来实现索引来实现nB+树索引具有动态平衡的优点nHASH索引具有查找速度快的特点v采用采用B+树,还是树,还是HASH索引索引 则由具体的则由具体的RDBMS来决定来决定v索引是关系数据库的内部实现技术,属于索引是关系数据库的内部实现技术,属于内模式内模式的范畴的范畴 vCREATE INDEX语句定义索引时,可以定义索引是唯一索引、语句定义索引时,可以定义索引是唯一索引、非唯一索引或聚簇索引非唯一索引或聚簇索引 一、建立索引一、建立索引 v语句格式CREATEUNIQUECLUSTERINDEXON(,);聚簇索引聚簇索引(CLUSTER)v建建立立聚聚簇簇索索引引后后,基基表表中中数数据据也也需需要要按按指指定定的的聚聚簇簇属属性性值值的的升升序序或或降降序序存存放放。也也即即聚聚簇簇索索引引的的索索引引项项顺顺序序与与表表中中记记录录的的物物理理顺序一致顺序一致唯一值索引唯一值索引(UNIQUE)v对对于于已已含含重重复复值值的的属属性性列列不不能能建建UNIQUE索索引引对对某某个个列列建建立立UNIQUE索索引引后后,插插入入新新记记录录时时DBMS会会自自动动检检查查新新记记录录在在该该列列上上是是否否取取了了重重复复值。这相当于增加了一个值。这相当于增加了一个UNIQUE约束约束建立索引(续)建立索引(续)例例13 CREATE CLUSTER INDEX Stusname ON Student(Sname);在在Student表的表的Sname(姓名)列上建立一个聚簇索引(姓名)列上建立一个聚簇索引v在最经常查询的列上建立聚簇索引以提高查询效率在最经常查询的列上建立聚簇索引以提高查询效率 v一个基本表上最多只能建立一个聚簇索引一个基本表上最多只能建立一个聚簇索引 v经常更新的列不宜建立聚簇索引经常更新的列不宜建立聚簇索引 建立索引(续)建立索引(续)例例14为为学学生生-课课程程数数据据库库中中的的Student,Course,SC三个表建三个表建 立索引。立索引。CREATEUNIQUEINDEXStusnoONStudent(Sno);CREATEUNIQUEINDEXCoucnoONCourse(Cno);CREATEUNIQUEINDEXSCnoONSC(SnoASC,CnoDESC);Student表按学号升序建唯一索引Course表按课程号升序建唯一索引SC表按学号升序和课程号降序建唯一索引二、删除索引二、删除索引 vDROPINDEX;删除索引时,系统会从数据字典中删去有关该索引的描述。例例15 删除删除Student表的表的Stusname索引索引 DROP INDEX Stusname;第三章第三章 关系数据库标准语言关系数据库标准语言SQL3.1 SQL概述概述3.2 学生学生-课程数据库课程数据库3.3 数据定义数据定义3.4 数据查询数据查询3.5 数据更新数据更新3.6 视图视图3.7 小结小结数据查询数据查询v语句格式语句格式SELECTALL|DISTINCT,FROM,WHEREGROUPBYHAVINGORDERBYASC|DESC;3.4 数据查询数据查询 v3.4.1 单表查询单表查询v3.4.2 连接查询连接查询v3.4.3 嵌套查询嵌套查询v3.4.4 集合查询集合查询v3.4.5 Select语句的一般形式语句的一般形式 3.4.1 单表查询单表查询 v查询仅涉及一个表:查询仅涉及一个表:n一、一、选择表中的若干列选择表中的若干列n二、二、选择表中的若干元组选择表中的若干元组n三、三、ORDER BY子句子句n四、四、聚集函数聚集函数n五、五、GROUP BY子句子句一、一、选择表中的若干列选择表中的若干列v查询指定列查询指定列例例1 查询全体学生的学号与姓名。查询全体学生的学号与姓名。SELECT Sno,SnameFROM Student;2.查询全部列查询全部列v选出所有属性列:选出所有属性列:n在在SELECT关键字后面列出所有列名关键字后面列出所有列名 n将将指定为指定为*例3查询全体学生的详细记录。SELECTSno,Sname,Ssex,Sage,SdeptFROMStudent;或SELECT*FROMStudent;3.查询经过计算的值查询经过计算的值 vSELECT子句的子句的可以为:可以为:算术表达式算术表达式字符串常量字符串常量函数函数列别名列别名 例例4 查全体学生的姓名及其出生年份。查全体学生的姓名及其出生年份。SELECTSname,2008-SageFROMStudent;查询经过计算的值(续)查询经过计算的值(续)查询经过计算的值(续)查询经过计算的值(续)例例5 查查询询全全体体学学生生的的姓姓名名、出出生生年年份份和和所所有有系系,要要求求用小写字母表示所有系名用小写字母表示所有系名SELECTSname,YearofBirth:,2008-Sage,ISLOWER(Sdept)FROMStudent;查询经过计算的值(续)查询经过计算的值(续)v使用列使用列别名别名改变查询结果的列标题改变查询结果的列标题:SELECTSnameNAME,YearofBirth:BIRTH,2000-SageBIRTHDAY,LOWER(Sdept)DEPARTMENTFROMStudent;输出结果:NAMEBIRTHBIRTHDAYDEPARTMENT-李勇YearofBirth:1984cs刘晨YearofBirth:1985is王敏YearofBirth:1986ma张立YearofBirth:1985is3.4.1 单表查询单表查询 v查询仅涉及一个表:查询仅涉及一个表:n一、一、选择表中的若干列选择表中的若干列n二、二、选择表中的若干元组选择表中的若干元组n三、三、ORDER BY子句子句n四、四、聚集函数聚集函数n五、五、GROUP BY子句子句二、选择表中的若干元组二、选择表中的若干元组v1.消除取值重复的行消除取值重复的行如果没有指定DISTINCT关键词,则缺省为ALL例例6 查询选修了课程的学生学号。查询选修了课程的学生学号。SELECTSnoFROMSC;等价于:SELECTALLSnoFROMSC;消除取值重复的行(续)消除取值重复的行(续)v指定指定DISTINCT关键词,去掉表中重复的行关键词,去掉表中重复的行 SELECT DISTINCT Sno FROM SC;2.查询满足条件的元组查询满足条件的元组查 询 条 件谓 词比 较=,=,=,!=,!,!;NOT+上述比较运算符确定范围BETWEEN AND,NOT BETWEEN AND确定集合IN,NOT IN字符匹配LIKE,NOT LIKE空 值IS NULL,IS NOT NULL多重条件(逻辑运算)AND,OR,NOT表3.4 常用的查询条件(1)比较大小比较大小例例8 查询所有年龄在查询所有年龄在20岁以下的学生姓名及其年龄。岁以下的学生姓名及其年龄。SELECTSname,SageFROMStudentWHERESage20;(2)确定范围)确定范围v谓词谓词:BETWEENANDNOTBETWEENAND例例10 查询年龄在查询年龄在2023岁(包括岁(包括20岁和岁和23岁)之岁)之间的学生的姓名、系别和年龄间的学生的姓名、系别和年龄SELECTSname,Sdept,SageFROMStudentWHERESageBETWEEN20AND23;(3)确定集合确定集合v谓词:谓词:IN,NOT IN 例例12查询信息系(查询信息系(IS)、数学系()、数学系(MA)和计算机)和计算机科学系(科学系(CS)学生的姓名和性别。)学生的姓名和性别。SELECTSname,SsexFROMStudentWHERESdeptIN(IS,MA,CS);(4)字符匹配字符匹配v谓词:谓词:NOTLIKEESCAPE1)匹配串为固定字符串匹配串为固定字符串例例14 查询学号为查询学号为200215121的学生的详细情况。的学生的详细情况。SELECT*FROMStudentWHERESnoLIKE200215121;等价于:SELECT*FROMStudentWHERESno=200215121;字符匹配(续)字符匹配(续)2)匹配串为含通配符的字符串匹配串为含通配符的字符串例例15 查询所有姓查询所有姓刘刘学生的姓名、学号和性别。学生的姓名、学号和性别。SELECTSname,Sno,SsexFROMStudentWHERESnameLIKE刘%;例例16 查询姓查询姓欧阳欧阳且全名为三个汉字的学生的姓名且全名为三个汉字的学生的姓名。SELECTSnameFROMStudentWHERESnameLIKE欧阳_;字符匹配(续)字符匹配(续)3)使用换码字符将通配符转义为普通字符使用换码字符将通配符转义为普通字符 例例19 查询查询DB_Design课程的课程号和学分。课程的课程号和学分。SELECT Cno,Ccredit FROM Course WHERE Cname LIKE DB_Design ESCAPE;ESCAPE 表示表示“”为换码字符为换码字符(5)涉及空值的查询涉及空值的查询n谓词:谓词:IS NULL 或或 IS NOT NULLn“IS”不能用不能用“=”代替代替例例21 某些学生选修课程后没有参加考试,所以某些学生选修课程后没有参加考试,所以有选课记录,但没有选课记录,但没 有考试成绩。查询缺少成绩的学有考试成绩。查询缺少成绩的学生的学号和相应的课程号。生的学号和相应的课程号。SELECTSno,CnoFROMSCWHEREGradeISNULL(6)多重条件查询多重条件查询v逻辑运算符:逻辑运算符:AND和和 OR来联结多个查询条件来联结多个查询条件 AND的优先级高于的优先级高于OR 可以用括号改变优先级可以用括号改变优先级v可用来实现多种其他谓词可用来实现多种其他谓词 NOT IN NOT BETWEEN AND 多重条件查询(续)多重条件查询(续)例例23 查询计算机系年龄在查询计算机系年龄在20岁以下的学生姓名。岁以下的学生姓名。SELECT Sname FROM Student WHERE Sdept=CS AND Sage20;73l改写改写 例例1212例例12 查询信息系(查询信息系(IS)、数学系()、数学系(MA)和计算机)和计算机科学系(科学系(CS)学生的姓名和性别。)学生的姓名和性别。SELECT Sname,SsexFROM StudentWHERE Sdept IN(IS,MA,CS)可改写为:可改写为:SELECT Sname,SsexFROM StudentWHERE Sdept=IS OR Sdept=MA OR Sdept=CS 3.4.1 单表查询单表查询 v查询仅涉及一个表:查询仅涉及一个表:n一、一、选择表中的若干列选择表中的若干列n二、二、选择表中的若干元组选择表中的若干元组n三、三、ORDER BY子句子句n四、四、聚集函数聚集函数n五、五、GROUP BY子句子句三、三、ORDER BY子句子句 vORDER BY子句子句n可以按一个或多个属性列排序可以按一个或多个属性列排序n升序:升序:ASC;降序:;降序:DESC;缺省值为升序;缺省值为升序v当排序列含空值时当排序列含空值时nASC:排序列为空值的元组最后显示:排序列为空值的元组最后显示nDESC:排序列为空值的元组最先显示:排序列为空值的元组最先显示 ORDER BY子句子句(续)(续)例例24 查查询询选选修修了了3号号课课程程的的学学生生的的学学号号及及其成绩,查询结果按分数降序排列。其成绩,查询结果按分数降序排列。SELECTSno,GradeFROMSCWHERECno=3ORDERBYGradeDESC;3.4.1 单表查询单表查询 v查询仅涉及一个表:查询仅涉及一个表:n一、一、选择表中的若干列选择表中的若干列n二、二、选择表中的若干元组选择表中的若干元组n三、三、ORDER BY子句子句n四、四、聚集函数聚集函数n五、五、GROUP BY子句子句四、聚集函数四、聚集函数 v聚集函数:计数COUNT(DISTINCT|ALL*)COUNT(DISTINCT|ALL)计算总和SUM(DISTINCT|ALL)计算平均值AVG(DISTINCT|ALL)最大最小值 MAX(DISTINCT|ALL)MIN(DISTINCT|ALL)聚集函数聚集函数(续)(续)例例26 查询学生总人数。查询学生总人数。SELECT COUNT(*)FROM Student;例例28 计算计算1号课程的学生平均成绩。号课程的学生平均成绩。SELECT AVG(Grade)FROM SC WHERE Cno=1;3.4.1 单表查询单表查询 v查询仅涉及一个表:查询仅涉及一个表:n一、一、选择表中的若干列选择表中的若干列n二、二、选择表中的若干元组选择表中的若干元组n三、三、ORDER BY子句子句n四、四、聚集函数聚集函数n五、五、GROUP BY子句子句五、五、GROUP BY子句子句 vGROUP BY子句分组:子句分组:细化聚集函数的作用对象细化聚集函数的作用对象未对查询结果分组,聚集函数将作用于整个查询结果未对查询结果分组,聚集函数将作用于整个查询结果 对查询结果分组后,聚集函数将分别作用于每个组对查询结果分组后,聚集函数将分别作用于每个组 作用对象是查询的中间结果表作用对象是查询的中间结果表按指定的一列或多列值分组,值相等的为一组按指定的一列或多列值分组,值相等的为一组GROUP BY子句(续)子句(续)例例31 求各个课程号及相应的选课人数。求各个课程号及相应的选课人数。SELECTCno,COUNT(Sno)FROMSCGROUPBYCno;GROUP BY子句(续)子句(续)例例32 查询选修了查询选修了3门以上课程的学生学号。门以上课程的学生学号。SELECTSnoFROMSCGROUPBYSnoHAVINGCOUNT(*)3;GROUP BY子句(续)子句(续)vHAVING短语与短语与WHERE子句的区别:子句的区别:作用对象不同作用对象不同WHERE子子句句作作用用于于基基表表或或视视图图,从从中中选选择择满足条件的元组满足条件的元组HAVING短短语语作作用用于于组组,从从中中选选择择满满足足条条件件的组。的组。休息一会儿。休息一会儿。展开阅读全文
咨信网温馨提示:1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。




高等教育chp关系数据库标准语言.pptx



实名认证













自信AI助手
















微信客服
客服QQ
发送邮件
意见反馈



链接地址:https://www.zixin.com.cn/doc/4172378.html