欢迎来到天天文库
浏览记录
ID:42723991
大小:1.49 MB
页数:59页
时间:2019-09-21
《第4章关系数据库标准语言SQL》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、【主要内容】4.1数据查询功能4.2数据定义功能4.3数据操纵功能【目的要求】掌握SQL的特点掌握SQL查询命令的结构及运用掌握SQL定义功能的格式及运用掌握SQL操作功能的命令格式及运用第4章关系数据库标准语言SQLSQL(StructuredQueryLanguage,结构化查询语言)是关系数据库的标准语言,是1974年由Bovce和Chamberlin提出的,并于1975年至1979年在IBM公司的SanJose实验室研制的著名关系DBMSSystemR上实现了这种语言。SQL具有功能丰富、使用灵活且简便易懂等特点,备受众多用户的青睐。1986年10月美国国家标
2、准局(ANSI)的数据库委员会X3H2批准了SQL作为关系数据库语言的美国标准,同时国际标准化组织(InternationalStandardOrganization,ISO)发布了SQL标准文本,并在1989年、1992年与1999年进行了3次扩展。目前的正式版本是1999年公布的SQL3版本,现在业界所说的标准SQL一般指SQL3。SQL标准使得所有数据库系统的生产商都可以按照统一的标准实现对SQL的支持,具有广泛的适用性;SQL语言成为计算机业界的一种标准语言,这对数据库领域的发展意义十分重大。关系数据库管理系统(RDBMS)中也广泛使用SQL语言,如DB2、M
3、icrosoftSQLServer、Access、VisualFoxPro等产品。SQL语言具有强大的数据查询、数据定义、数据操纵和数据控制等功能,它已经成为关系数据库的标准操作语言。SQL语言虽然功能非常强大,但它只由为数不多的几条命令组成,是非常简洁的语言。表4.1以分类的形式给出了SQL语言的命令动词。VisualFoxPro在SQL语言方面支持数据定义、数据查询和数据操纵功能,由于isualFoxPro自身在安全控制方面的缺陷,它没有提供数据控制功能。4.1数据查询功能SQL语言的查询功能由SELECT命令完成,基本形式为:SELECT[ALL
4、DISTINC
5、T][TOPN[PERCENT]]要查询的数据FROM数据源1[联接方式JOIN数据源2][ON联接条件][WHERE查询条件][GROUPBY分组字段[HAVING分组条件]][ORDERBY排序选项][ASC
6、DESC][,排序选项2[ASC
7、DESC]…]][输出去向]SELECT短语指定要查询的数据。主要由表中的字段组成,可以用“数据库名!表名.字段名”的形式给出,数据库名和表名均可以省略。FROM短语指定查询数据需要的表,可以基于单个表或多个表进行查询。表的形式为“数据库名!表名",数据库名可以省略。WHERE短语表示查询条件,查询条件是逻辑表达式或关系表达
8、式。也可以用WHERE短语实现多表查询。ORDERBY短语后面跟排序选项,对查询的结果进行排序。用ASC选择升序(默认);用DESC选择降序。当排序的值相同时,可用第二个排序选项。GROUPBY短语后跟分组字段,对查询结果进行分组,可以使用它进行分组统计,HAVING短语通常跟GROUPBY短语连用,用来限定分组结果中必须满足的条件。GROUPBY短语后跟分组字段,常用的统计方式有求和(SUM())、求平均值(AVG())、求最小值(MIN()、求最大值(MAX())、统计记录个数COUNT())等。“输出去向”短语给出查询结果的去向。“查询去向’’可以是临时表、永久
9、表、数组、浏览等。“*”表示查询表中所有字段。部分字段或包含字段的表达式列表,如姓名,入学成绩+1O,AVG(入学成绩)。在要查询的数据前面,可以使用下列选项:ALL表示查询所有记录,包括重复记录;DISTINCT表示查询结果中去掉重复的记录;TOPN必须与排序短语一起使用,表示查询排序结果中的前N条记录;TOPNPERCENT必须与排序短语一起使用,表示查询排序结果中前百分之N条记录。(1)SELECT要查询的数据可以是以下几种形式:FROM短语如果查询涉及多个表,可以选择“联接方式JOIN数据源2ON联接条件”选项。联接方式可以选择4种联接方式的一种,即内联接也称
10、自然联接(INNERJOIN)、左联接(LEFT[OUTER]JOIN)、右联接(RIGHT[OUTER]JOIN)、全联接(FULL[OUTER]JOIN),其中后3种联接是外联接。SELECT语句中的每个短语都完成一定的功能,其中“SELECT…FROM…"短语是每个查询语句必须具备的短语。SELECT查询命令的使用非常灵活,用它可以构造各种各样的查询。图4—1给出了本章要用到的表:教师情况表.DBF、课程情况表.DBF、学生成绩表.DBF(5)GROUPBY分组字段或要计算的结果:COUNT:对一列中的值计算个数;COUNT(*):计算表中记录
此文档下载收益归作者所有