欢迎来到天天文库
浏览记录
ID:40223705
大小:152.50 KB
页数:51页
时间:2019-07-27
《第2章中文windowsxp》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第三章关系数据库标准语言SQL概述SQL数据查询功能SQL数据定义功能视图操作SQL数据更新SQL数据控制嵌入式SQL1SQL概述SQL的产生与发展1974年,由Boyce和Chamber提出,称为SEQUEL(StructuredEnglishQueryLanguage)。1975-1979年,在IBM的SanJose研究室研制的SystemR上实现。1981年,IBM在推出SQL/DS关系数据库时,将其命名为SQL(StructuredQueryLanguage)。随着SQL语言应用的日益广泛,ANSI
2、和ISO先后制定了SQL-86、SQL-89、SQL-92、SQL-3等多个SQL标准2SQL特点综合统一高度非过程化面向集合的操作方式以同一种语法结构提供两种使用方式语言简捷,易学易用SQL功能操作符数据查询SELECT数据定义CREATE,DROP,ALTER数据操纵INSERT,UPDATE,DELETE数据控制GRANT,REVOKE3SQL语言的基本概念基本表与导出表基本表:是实际存在的,每个表在存储中可用一个存储文件来表示。导出表:是从基本表导出的表,有视图(View)和快照(Snapshot)
3、。视图是一个虚表。即视图所对应的数据不实际存储在数据库中,只在数据库的数据字典中存储视图的定义。视图一经定义就可以和基本表一样进行查询等操纵,也可以用来定义新的视图。4SQL语言的基本概念关系数据库的三级模式结构SQLViewV1ViewV2BasetableB1StoredfileS1BasetableB1BasetableB1BasetableB1StoredfileS1StoredfileS1StoredfileS1外模式模式内模式5SQL数据查询功能查询的基本结构是SELECT-FROM-WHERE
4、组成的查询块。一般形式:SELECT目标列——要检索的数据项FROM基本表(或视图)——要操作的关系名,1个或多个WHERE检索条件——查询结果应满足的条件表达式查询块的结果仍是一个表。该表是从给定的表中检索出满足给定检索条件的指定列的集合;查询块执行的过程是在表的水平方向上按“检索条件”选取元组,又在垂直方向上按SELECT指定的列进行投影。查询块可进行关系代数中投影、选取、连接等操作的组合。6示例用表S#SNSASDs1李勇20CSs2刘晨19ISs3王敏18MAs4张立19IS学生表SS#C#Gs1C
5、192s1C285s1C388s2C290s2C380学生选课表SCC#CNPC#C1数据库C5C2数学C3信息系统C1C4操作系统C6C5数据结构C7C6数据处理C7Pascal语言C6课程表C7投影检索SELECT-FROM-WHERE查询块中,没有WHERE子句,是单纯的投影操作。采用DISTINCT消去SELECT结果中的重复行。例1:检索学生的姓名,年龄SELECTSN,SAFROMS;例2:检索学生选修课的课程号SELECTDISTINCTC#FROMSC;8选取检索由WHERE子句指出查询条件
6、。检索条件可以包括如下运算符:比较运算符:=,<>(!=),>,>=,<,<=布尔运算符:AND,OR,NOT()例1:检索选修C2课程的所有学生的学号和成绩。SELECTS#,GFROMSCWHEREC#=‘C2’;9例2:检索选修C1或C2且成绩高于70分的学生学号、课程号和成绩。SELECTS#,C#,GFROMSCWHERE(C#=‘C1’ORC#=‘C2’)ANDG>=70;例3:检索成绩在70至85分之间的学生学号、课程号和成绩。SELECTS#,C#,GFROMSCWHEREGBETWEEN7
7、0AND85;10排序检索在SELECT-FROM-WHERE查询块后接ORDERBY子句,将结果按指定列排序。格式:ORDERBY列名ASC或DESCASC为升序;DESC为降序,缺省为升序。可以是单列排序或多列排序该子句在SELECT语句中作为最后一个子句出现。例1:检索全体学生信息,并按系号升序,同一个系按年龄降序排列。SELECT*FROMSORDERBYSD,SADESC;11连表检索(1)将多个相互关联的表按照一定条件连接起来,实现多表数据检索。SELECT-FROM-WHERE语句块结构:SE
8、LECT——指明选取的列名(来自多个表)FROM——指明要进行连接的表名WHERE——指明连接条件(连接谓词)与选取条件。连接条件一般格式为:[<表名>.]<列名><比较运算符>[<表名>.]<列名>其中,<列名>称为连接字段;<比较运算符>主要有:=,>,<,>=,<=,!=12连表检索(2)例1:检索学生李勇所学课程的成绩。SELECTSN,C#,GFROMS,SCWHERES.S#=SC.S#ANDSN=‘
此文档下载收益归作者所有