书签 分享 收藏 举报 版权申诉 / 35
上传文档赚钱

类型第3章关系数据库标准语言SQL-课件.ppt

  • 上传人(卖家):晟晟文业
  • 文档编号:4608381
  • 上传时间:2022-12-24
  • 格式:PPT
  • 页数:35
  • 大小:289KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《第3章关系数据库标准语言SQL-课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    关系 数据库 标准 语言 SQL 课件
    资源描述:

    1、1数据库原理及应用数据库原理及应用数据库原理及应用数据库原理及应用Principle and Application of Database第四章第四章 关系数据库标准语言关系数据库标准语言SQLSQL2数据库原理及应用数据库原理及应用n了解了解SQL语言的特点语言的特点n掌握掌握SQL的数据定义的数据定义n掌握掌握SQL的单表查询的单表查询3数据库原理及应用数据库原理及应用nSQL的特点的特点n综合统一:综合统一:SQL语言集数据定义语言语言集数据定义语言DDL、数据操纵语言、数据操纵语言DML、数据控制语言、数据控制语言DCL的功能于一体。的功能于一体。n高度非过程化:高度非过程化:非关系

    2、数据模型的数据操纵语言是面向过程的语非关系数据模型的数据操纵语言是面向过程的语言,操作必须指明存取路径;而用言,操作必须指明存取路径;而用SQL语言进行数据操作,只要语言进行数据操作,只要提出提出“做什么做什么”,无须指明,无须指明“怎么做怎么做”,因此无需了解存取路径,因此无需了解存取路径。n面向集合的操作方式:面向集合的操作方式:非关系数据模型采用的是面向记录的操作非关系数据模型采用的是面向记录的操作方式,操作对象是一条记录;而方式,操作对象是一条记录;而SQL语言采用的集合操作方式,语言采用的集合操作方式,不仅操作对象、查询结果可以是元组的集合,而且一次插入、删不仅操作对象、查询结果可以

    3、是元组的集合,而且一次插入、删除、更新操作的对象也可以是元组的集合。除、更新操作的对象也可以是元组的集合。n以同一种语法结构提供两种使用方法:以同一种语法结构提供两种使用方法:SQL语言既是自含式语言语言既是自含式语言,能独立地用于联机交互;又是嵌入式语言,能嵌入到高级语言,能独立地用于联机交互;又是嵌入式语言,能嵌入到高级语言中进行混合编程。中进行混合编程。4数据库原理及应用数据库原理及应用表表 3.1 SQL语语言言的的动动词词SQL 功功 能能动动 词词数数 据据 定定 义义CREATE,DROP,ALTER数数 据据 查查 询询SELECT数数 据据 操操 纵纵INSERT,UPDAT

    4、EDELETE数数 据据 控控 制制GRANT,REVOKEn 语言简洁,易学易用:语言简洁,易学易用:完成核心功能只用完成核心功能只用9个动词:个动词:5数据库原理及应用数据库原理及应用n 定义、修改与删除基本表定义、修改与删除基本表n 定义基本表定义基本表n CREATE TABLE n (n ,n ,);其中:其中:表名为所要定义的基本表的名字,列名为组成该表的表名为所要定义的基本表的名字,列名为组成该表的各个属性各个属性(列列),列级完整性约束条件为涉及相应属性列的完整性,列级完整性约束条件为涉及相应属性列的完整性约束条件,表级完整性约束条件为涉及一个或多个属性列的完整约束条件,表级完

    5、整性约束条件为涉及一个或多个属性列的完整性约束条件。常用的完整性约束有:主码约束性约束条件。常用的完整性约束有:主码约束PRIMARY KEY、唯一性约束、唯一性约束UNIQUE、非空值约束、非空值约束NOT NULL、参照完整性约、参照完整性约束束FOREIGN KEY REFERENCES。6数据库原理及应用数据库原理及应用 例例1建立一个建立一个“学生学生”表表Student,它由学号,它由学号Sno、姓名、姓名Sname、性别、性别Ssex、年龄、年龄Sage、系别、系别Sdept五个属性组成。五个属性组成。其中学号不能为空,值是唯一的,并且姓名取值也唯一。其中学号不能为空,值是唯一的

    6、,并且姓名取值也唯一。CREATE TABLE Student (Sno CHAR(5)NOT NULL UNIQUE,Sname CHAR(20)UNIQUE,Ssex CHAR(1),Sage INT,Sdept CHAR(15);SnoSnoSnameSnameSsexSsexSageSageSdeptSdept字符型字符型,长度为长度为5,不能为空不能为空字符型字符型,长度为长度为20字符型字符型长度为长度为1整数整数字符型字符型长度为长度为15157数据库原理及应用数据库原理及应用n修改基本表修改基本表 ALTER TABLE ADD 完整性约束完整性约束 DROP DROP col

    7、umn MODIFY ;其中:其中:表名为要修改的基本表,表名为要修改的基本表,ADDADD子句为增加新列和新的完子句为增加新列和新的完整性约束条件,整性约束条件,DROPDROP子句为删除指定的完整性约束条件,子句为删除指定的完整性约束条件,MODIFYMODIFY子句为用于修改列名和数据类型。子句为用于修改列名和数据类型。例例2向向Student表增加表增加“入学时间入学时间”列,其数据类型为日期型。列,其数据类型为日期型。ALTER TABLE Student ADD Scome DATE;不论基本表中原来是否已有数据,新增加的列一律为空值。不论基本表中原来是否已有数据,新增加的列一律为

    8、空值。8数据库原理及应用数据库原理及应用例例3将年龄的数据类型改为半字长整数。将年龄的数据类型改为半字长整数。ALTER TABLE Student MODIFY Sage SMALLINT;修改原有的列定义有可能会破坏已有数据。修改原有的列定义有可能会破坏已有数据。例例4删除学生姓名必须取唯一值的约束。删除学生姓名必须取唯一值的约束。ALTER TABLE Student DROP UNIQUE(Sname);SQL没有提供删除属性列的语句,用户只能间接实现这一功能没有提供删除属性列的语句,用户只能间接实现这一功能:先把表中要保留的列及其内容复制到一个新表中,然后删除:先把表中要保留的列及其

    9、内容复制到一个新表中,然后删除原表,再将新表重命名为原表名。但有的原表,再将新表重命名为原表名。但有的DBMS提供直接删除提供直接删除属性列的语句,如:属性列的语句,如:ALTER TABLE Student Drop Scome;9数据库原理及应用数据库原理及应用n 删除基本表删除基本表n DROP TABLE;基本表定义一旦删除,表中的数据、表上建立的索引和视图都基本表定义一旦删除,表中的数据、表上建立的索引和视图都将自动删除。但将自动删除。但Oracle中删除基本表后建立在此表上的视图仍保中删除基本表后建立在此表上的视图仍保留在数据字典中,但用户引用时就出错。留在数据字典中,但用户引用时

    10、就出错。例例5删除删除Student表。表。DROP TABLE Student;n 建立与删除索引建立与删除索引n 建立索引是加快查询速度的有效手段,建立与删除索引由建立索引是加快查询速度的有效手段,建立与删除索引由DBA或表的属主负责完成,但有些或表的属主负责完成,但有些DBMS自动建立自动建立PRIMARY或或KEY UNIQUE列上的索引。列上的索引。10数据库原理及应用数据库原理及应用n建立索引建立索引uCREATE UNIQUE CLUSTER INDEX uON(,);n用用指定要建索引的基本表。指定要建索引的基本表。n索引可以建立在该表的一列或多列上,各列名之间用逗号分隔索引可

    11、以建立在该表的一列或多列上,各列名之间用逗号分隔n用用指定索引值的排列次序,升序指定索引值的排列次序,升序ASC,降序,降序DESC。缺省。缺省ASC。nUNIQUE表明此索引的每一个索引值只对应唯一的数据记录。表明此索引的每一个索引值只对应唯一的数据记录。nCLUSTER表示要建立的索引是聚簇索引。表示要建立的索引是聚簇索引。例例6为学生为学生-课程数据库中课程数据库中Student,Course,SC三个表建立索引。其中三个表建立索引。其中Student表按学号升序建唯一索引,表按学号升序建唯一索引,Course表按课程号升序建唯一索引,表按课程号升序建唯一索引,SC表按学号升序和课程号降

    12、序建唯一索引。表按学号升序和课程号降序建唯一索引。CREATE UNIQUE INDEX Stusno ON Student(Sno);CREATE UNIQUE INDEX Coucno ON Course(Cno);CREATE UNIQUE INDEX SCno ON SC(Sno ASC,Cno DESC);11数据库原理及应用数据库原理及应用n唯一索引:唯一索引:对于已含重复值的属性列不能建对于已含重复值的属性列不能建UNIQUE索引,对索引,对某个列建立某个列建立UNIQUE索引后,插入新记录时索引后,插入新记录时DBMS会自动检查会自动检查新记录在该列上是否取了重复值,这相当于增

    13、加了一个新记录在该列上是否取了重复值,这相当于增加了一个UNIQUE约束。约束。n聚簇索引:聚簇索引:建立聚簇索引后,基表中数据也需要按指定的聚簇建立聚簇索引后,基表中数据也需要按指定的聚簇属性值的升序或降序存放,即聚簇索引的索引项顺序与表中记属性值的升序或降序存放,即聚簇索引的索引项顺序与表中记录的物理顺序一致。录的物理顺序一致。例:例:CREATE CLUSTER INDEX Stusname ON Student(Sname);在在Student表的表的Sname列上建立一个聚簇索引,而且列上建立一个聚簇索引,而且Student表中的记录将按照表中的记录将按照Sname值的升序存放。在一

    14、个基本表上最多值的升序存放。在一个基本表上最多只能建立一个聚簇索引,聚簇索引对于某些类型的查询,可以只能建立一个聚簇索引,聚簇索引对于某些类型的查询,可以提高查询效率,聚簇索引在很少对基表进行增删操作或很少对提高查询效率,聚簇索引在很少对基表进行增删操作或很少对其中的变长列进行修改操作的场合下非常适用。其中的变长列进行修改操作的场合下非常适用。12数据库原理及应用数据库原理及应用n删除索引删除索引 n DROP INDEX;删除索引时,系统会从数据字典中删去有关该索引的描述。删除索引时,系统会从数据字典中删去有关该索引的描述。例例7删除删除Student表的表的Stusname索引。索引。DR

    15、OP INDEX Stusname;13数据库原理及应用数据库原理及应用n概述概述n查询语句格式:查询语句格式:uSELECT ALL|DISTINCT ,uFROM,u WHERE u GROUP BY HAVING u ORDER BY ASC|DESC ;其中:其中:SELECT子句指定要显示的属性列;子句指定要显示的属性列;FROM子句指定查子句指定查询对象询对象(基本表或视图基本表或视图);WHERE子句指定查询条件;子句指定查询条件;GROUP BY子句对查询结果按指定列的值分组,该属性列值相等的元组子句对查询结果按指定列的值分组,该属性列值相等的元组为一个组,通常会在每组中作用集

    16、函数;为一个组,通常会在每组中作用集函数;HAVING短语筛选出短语筛选出只有满足指定条件的组;只有满足指定条件的组;ORDER BY子句对查询结果表按指定子句对查询结果表按指定列值的升序或降序排序。列值的升序或降序排序。14数据库原理及应用数据库原理及应用 StudentCnoCnameCpnoCcredit1数据库数据库542数学数学23信息系统信息系统144操作系统操作系统635数据结构数据结构746数据处理数据处理27C语言语言64 Course ScSnoSnoCnoCnoGradeGrade9500119295001285950013889500229095002380950019

    17、50049500395002Sno李勇李勇张立张立王敏王敏刘晨刘晨Sname男男男男女女女女Ssex20191819SageCSISMAISSdept示例数据库:示例数据库:学生学生-课程数据库课程数据库15数据库原理及应用数据库原理及应用n单表查询:单表查询:查询仅涉及一个表,是一种最简单的查询操作。查询仅涉及一个表,是一种最简单的查询操作。n选择表中的若干列选择表中的若干列n查询指定列或全部列查询指定列或全部列例例1查询全体学生的学号与姓名。查询全体学生的学号与姓名。SELECT Sno,Sname FROM Student;例例2查询全体学生的姓名、学号、所在系。查询全体学生的姓名、学号

    18、、所在系。SELECT Sname,Sno,Sdept FROM Student;例例3查询全体学生的详细记录。查询全体学生的详细记录。SELECT Sno,Sname,Ssex,Sage,Sdept FROM Student;或或 SELECT *FROM Student;16数据库原理及应用数据库原理及应用n查询经过计算的值:查询经过计算的值:SELECT子句的子句的为算术表为算术表达式、字符串常量、函数、列别名等达式、字符串常量、函数、列别名等。例例4 查全体学生的姓名及其出生年份。查全体学生的姓名及其出生年份。SELECT Sname,Sage FROM Student;输出结果:输出

    19、结果:Sname Sage -李勇李勇 1976 刘晨刘晨 1977 王名王名 1978 张立张立 197817数据库原理及应用数据库原理及应用例例5查询全体学生的姓名、出生年份和所有系,要求用小写字查询全体学生的姓名、出生年份和所有系,要求用小写字母表示所有系名。母表示所有系名。SELECT Sname,Year of Birth:,Sage,LOWER(Sdept)FROM Student;输出结果:输出结果:Sname Year of Birth:Sage LOWER(Sdept)-李勇李勇 Year of Birth:1976 cs 刘晨刘晨 Year of Birth:1977 is

    20、 王名王名 Year of Birth:1978 ma 张立张立 Year of Birth:1977 is 18数据库原理及应用数据库原理及应用可以使用列别名改变查询结果的列标题可以使用列别名改变查询结果的列标题 SELECT Sname NAME,Year of Birth:BIRTH,Sage BIRTHDAY,LOWER(Sdept)DEPARTMENT FROM Student;输出结果:输出结果:NAME BIRTH BIRTHDAY DEPARTMENT -李勇李勇 Year of Birth:1976 cs 刘晨刘晨 Year of Birth:1977 is 王名王名 Yea

    21、r of Birth:1978 ma 张立张立 Year of Birth:1977 is19数据库原理及应用数据库原理及应用n选择表中的若干元组:选择表中的若干元组:在在WHERE子句中设置查询条件。子句中设置查询条件。消除取值重复的行:消除取值重复的行:在在SELECT子句中使用子句中使用DISTINCT短语。短语。例例6查询选修了课程的学生学号。查询选修了课程的学生学号。SELECT Sno FROM SC;或或 SELECT ALL Sno FROM SC;SELECT DISTINCT Sno FROM SC;ALL的结果:的结果:Sno DISTINCT的结果:的结果:Sno -9

    22、5001 95001 95001 95002 95001 95002 95002 20数据库原理及应用数据库原理及应用注意:注意:DISTINCT短语的作用范围是所有目标列。短语的作用范围是所有目标列。例:查询选修课程的各种成绩。例:查询选修课程的各种成绩。错误的写法错误的写法SELECT DISTINCT Cno,DISTINCT Grade FROM SC;正确的写法正确的写法 SELECT DISTINCT Cno,Grade FROM SC;21数据库原理及应用数据库原理及应用 表表4-3 常用的查询条件常用的查询条件n确定大小:确定大小:在在WHERE子句的子句的中使用比较运算符。中

    23、使用比较运算符。例例8查询所有年龄在查询所有年龄在20岁以下的学生姓名及其年龄岁以下的学生姓名及其年龄。SELECT Sname,Sage FROM Student WHERE Sage=20;BETWEEN AND,NOT BETWEEN ANDBETWEEN AND,NOT BETWEEN ANDIN,NOT IN=,=,=,!=,!,!NOT+上述运算符上述运算符LIKE,NOT LIKEIS NULL,IS NOT NULLAND,OR谓谓 词词查询条件查询条件确定范围确定范围确定集合确定集合字符匹配字符匹配空值空值多重条件多重条件比较比较22数据库原理及应用数据库原理及应用n确定范围

    24、:确定范围:在在WHERE子句的子句的中使用谓词中使用谓词BETWEEN AND或或NOT BETWEEN AND例例10查询年龄在查询年龄在2023岁岁(包括包括20岁和岁和23岁岁)间的学生的姓名、间的学生的姓名、系别和年龄。系别和年龄。SELECT Sname,Sdept,Sage FROM StudentWHERE Sage BETWEEN 20 AND 23;例例11查询年龄不在查询年龄不在2023岁之间的学生姓名、系别和年龄。岁之间的学生姓名、系别和年龄。SELECT Sname,Sdept,Sage FROM StudentWHERE Sage NOT BETWEEN 20 AN

    25、D 23;23数据库原理及应用数据库原理及应用l确定集合:确定集合:在在WHERE子句的子句的中使用谓词中使用谓词IN(值表值表)或或NOT IN(值表值表),(值表值表)是用逗号分隔的一组取值。是用逗号分隔的一组取值。例例12查询信息系、数学系和计算机系学生的姓名和性别。查询信息系、数学系和计算机系学生的姓名和性别。SELECT Sname,Ssex FROM Student WHERE Sdept IN(IS,MA,CS);例例13查询既不是信息系、数学系,也不是计算机系的学生的姓查询既不是信息系、数学系,也不是计算机系的学生的姓名和性别。名和性别。SELECT Sname,Ssex FR

    26、OM Student WHERE Sdept NOT IN(IS,MA,CS);24数据库原理及应用数据库原理及应用n字符串匹配:字符串匹配:在在WHERE子句的子句的中使用谓词中使用谓词NOT LIKE 匹配串匹配串 ESCAPE 换码字符换码字符。其中匹配串指定了。其中匹配串指定了匹配模板,匹配模板就是固定字符串或含通配符的字符串,当匹配模板,匹配模板就是固定字符串或含通配符的字符串,当匹配模板为固定字符串时,可以用匹配模板为固定字符串时,可以用=取代取代 LIKE,用,用!=或或 取代取代 NOT LIKE。n 通配符通配符%(百分号百分号):代表任意长度代表任意长度(可以为可以为0)的

    27、字符串。的字符串。n 例:例:a%b表示以表示以a开头、以开头、以b结尾的任意长度的字符串,如结尾的任意长度的字符串,如acb、addgb、ab 等。等。n 通配符通配符_(下横线下横线):代表任意单个字符。代表任意单个字符。n 例:例:a_b表示以表示以a开头、以开头、以b结尾的长度为结尾的长度为3的任意字符串,如的任意字符串,如acb、afb等。等。n ESCAPE 短语:短语:当用户要查询的字符串本身就含有当用户要查询的字符串本身就含有%或或 _ 时,要使用时,要使用ESCAPE 换码字符换码字符 短语对通配符进行转义。短语对通配符进行转义。25数据库原理及应用数据库原理及应用例例14查

    28、询学号为查询学号为95001的学生的详细情况。的学生的详细情况。SELECT*FROM Student WHERE Sno LIKE 95001;等价于:等价于:SELECT *FROM Student WHERE Sno=95001;例例15查询所有姓刘学生的姓名、学号和性别。查询所有姓刘学生的姓名、学号和性别。SELECT Sname,Sno,Ssex FROM Student WHERE Sname LIKE 刘刘%;例例16查询姓查询姓“欧阳欧阳”且全名为三个汉字的学生的姓名。且全名为三个汉字的学生的姓名。SELECT Sname FROM Student WHERE Sname LI

    29、KE 欧阳欧阳 _;例例17查询名字中第查询名字中第2个字为个字为“阳阳”字的学生的姓名和学号。字的学生的姓名和学号。SELECT Sname,Sno FROM Student WHERE Sname LIKE _阳阳%;例例18查询所有不姓刘的学生姓名。查询所有不姓刘的学生姓名。SELECT Sname,Sno,Ssex FROM Student WHERE Sname NOT LIKE 刘刘%;26数据库原理及应用数据库原理及应用n涉及空值的查询:涉及空值的查询:在在WHERE子句的子句的中使用谓词中使用谓词IS NULL 或或 IS NOT NULL,注意,注意IS NULL 不能用不能

    30、用=NULL 代替。代替。例例21某些学生选修课程后没有参加考试,所以有选课记录但没有某些学生选修课程后没有参加考试,所以有选课记录但没有考试成绩。查询缺少成绩的学生的学号和相应的课程号。考试成绩。查询缺少成绩的学生的学号和相应的课程号。SELECT Sno,Cno FROM SC WHERE Grade IS NULL;例例22查所有有成绩的学生学号和课程号。查所有有成绩的学生学号和课程号。SELECT Sno,Cno FROM SC WHERE Grade IS NOT NULL;27数据库原理及应用数据库原理及应用n多重条件查询:多重条件查询:在在WHERE子句的子句的中使用逻辑运算中使

    31、用逻辑运算符符AND和和 OR来联结多个查询条件,来联结多个查询条件,AND的优先级高于的优先级高于OR,可用括号改变优先级。可用括号改变优先级。例例23查询计算机系年龄在查询计算机系年龄在20岁以下的学生姓名。岁以下的学生姓名。SELECT Sname FROM Student WHERE Sdept=CS AND Sage=20 AND Sage=23;对查询结果排序:对查询结果排序:使用使用ORDER BY子句,子句,可以按一个或多个可以按一个或多个属性列排序,属性列排序,升序升序ASC,降序,降序DESC,缺省值为升序。当排序,缺省值为升序。当排序列含空值时,列含空值时,ASC排序列为

    32、空值的元组最后显示,排序列为空值的元组最后显示,DESC排序排序列为空值的元组最先显示。列为空值的元组最先显示。29数据库原理及应用数据库原理及应用例例24查询选修了查询选修了3号课程的学生的学号及成绩,查询结果按分号课程的学生的学号及成绩,查询结果按分数降序排列。数降序排列。SELECT Sno,Grade FROM SC WHERE Cno=3 ORDER BY Grade DESC;查询结果查询结果 Sno Grade -95010 95001 88 95002 80例例25查询全体学生情况,结果按所在系的系号升序排列,同一查询全体学生情况,结果按所在系的系号升序排列,同一系中的学生按年

    33、龄降序排列。系中的学生按年龄降序排列。SELECT *FROM Student ORDER BY Sdept,Sage DESC;30数据库原理及应用数据库原理及应用n使用集函数:使用集函数:5类主要集函数类主要集函数n计数:计数:COUNT(DISTINCT|ALL*)n COUNT(DISTINCT|ALL)n计算总和:计算总和:SUM(DISTINCT|ALL)n计算平均值:计算平均值:AVG(DISTINCT|ALL)n求最大值:求最大值:MAX(DISTINCT|ALL)n求最小值:求最小值:MIN(DISTINCT|ALL)n 其中:其中:DISTINCT短语在计算时要取消指定列中

    34、的重复值,短语在计算时要取消指定列中的重复值,ALL短语不取消重复值,短语不取消重复值,ALL为缺省值。为缺省值。31数据库原理及应用数据库原理及应用例例26查询学生总人数。查询学生总人数。SELECT COUNT(*)FROM Student;例例27查询选修了课程的学生人数。查询选修了课程的学生人数。SELECT COUNT(DISTINCT Sno)FROM SC;注:用注:用DISTINCT以避免重复计算学生人数。以避免重复计算学生人数。例例28计算计算1号课程的学生平均成绩。号课程的学生平均成绩。SELECT AVG(Grade)FROM SC WHERE Cno=1;例例29查询选

    35、修查询选修1号课程的学生最高分数。号课程的学生最高分数。SELECT MAX(Grade)FROM SC WHER Cno=1;32数据库原理及应用数据库原理及应用n对查询结果分组:对查询结果分组:GROUP BY子句的作用对象是查询的中间结果表,分组子句的作用对象是查询的中间结果表,分组方法是按指定一列或多列值分组,值相等的为一组。使用方法是按指定一列或多列值分组,值相等的为一组。使用GROUP BY子句子句后,后,SELECT子句的列名列表中只能出现分组属性和集函数。使用子句的列名列表中只能出现分组属性和集函数。使用GROUP BY子句分组细化集函数的作用对象,未对查询结果分组,集函数将作

    36、用于子句分组细化集函数的作用对象,未对查询结果分组,集函数将作用于整个查询结果;对查询结果分组后,集函数将分别作用于每个组。整个查询结果;对查询结果分组后,集函数将分别作用于每个组。例例30求各个课程号及相应的选课人数。求各个课程号及相应的选课人数。SELECT Cno,COUNT(Sno)FROM SC GROUP BY Cno;结果结果 Cno COUNT(Sno)1 22 2 34 3 44 4 33 5 4833数据库原理及应用数据库原理及应用n使用使用HAVING短语筛选最终输出结果:短语筛选最终输出结果:只有满足只有满足HAVING短语短语指定条件的组才输出,指定条件的组才输出,H

    37、AVING短语与短语与WHERE子句的区别是子句的区别是WHERE子句作用于基表或视图,从中选择满足条件的元组;子句作用于基表或视图,从中选择满足条件的元组;HAVING短语作用于组,从中选择满足条件的组。短语作用于组,从中选择满足条件的组。例例31查询选修了查询选修了3门以上课程的学生学号。门以上课程的学生学号。SELECT Sno FROM SC GROUP BY Sno HAVING COUNT(*)3;查询有查询有3门以上课程是门以上课程是90分以上的学生的学号及课程数。分以上的学生的学号及课程数。SELECT Sno,COUNT(*)FROM SC WHERE Grade=90 GR

    38、OUP BY Sno HAVING COUNT(*)=3;34数据库原理及应用数据库原理及应用nSQL语言的特点语言的特点nSQL的数据定义的数据定义nSQL的单表查询的单表查询CREATE TABLECREATE TABLEALTER TABLEALTER TABLEDROP TABLEDROP TABLE表表CREATE VIEWCREATE VIEWDROP VIEWDROP VIEW视图视图CREATE INDEXCREATE INDEXDROP INDEXDROP INDEX索引索引创创 建建修修 改改删删 除除操操 作作 方方 式式操作操作对象对象35数据库原理及应用数据库原理及应用休息。休息。

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:第3章关系数据库标准语言SQL-课件.ppt
    链接地址:https://www.163wenku.com/p-4608381.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库