欢迎来到天天文库
浏览记录
ID:51967547
大小:436.55 KB
页数:53页
时间:2020-03-26
《《sql基础教程》PPT课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、主要内容1.数据查询与SQL语言2.SELECT查询语句3.查询的建立与运行4.视图的建立与运行9.1数据查询与SQL语言为什么要数据查询?所谓查询就是从原始的数据表中寻找出用户需要的数据。查询文件利用查询设计器或查询向导所建立的查询文件的扩展名为.QPR,查询文件的内容是SQL语言的查询语句,运行查询文件即可获得所需的结果。注意:查询的结果只能作为输出使用,他产生一个独立的文件,不影响原来的数据文件,这是与视图的根本区别。查找性别为男且平时成绩小于等于95分的学生多表操作从“学生信息”表中获取学生的学号、姓名、班级,从
2、“学生成绩”表中获取学生的期中成绩。连接类型表与表之间的四种联接类型(具体参见教材P117表)内联接(INNERJOIN)左联接(LEFTJOIN)右联接(RIGHTJOIN)外连接完全联接(FULLJOIN)默认情况下为内连接。1内连接内连接(InnerJoin)也叫自然连接,是指将另一个表内的行数据与本表内的数据相互连接,产生的结果行数取决于参加连接的行数,也就是说在将两个表中的指定列进行比较时,仅将两个表中满足连接条件的行组合起来作为结果集。在内连接中,只有在两个表中匹配的行才能在结果集中出现。进行多表连接查询时,当两
3、个或多个表中具有相同名称的列时,必须在要查询的列名前使用表名或表的别名作为前缀,并用“.”来分隔,这样将避免出现列名不明确的错误。等值指定连接[实例7.4]查询“学生信息”表中全部学生的学号、姓名和在“学生成绩”表中的课程号和期末成绩。(学生成绩表.学号=学生信息表.学号)归纳分析:从服务器返回的数据结果中,可以发现内连接的结果是从两个或两个以上的表集合中平等地挑选出符合条件的数据,并将无法满足连接条件的数据抛弃。如在学生成绩表中学号为200302011的四条记录就没有出现在上述查询结果集中。注意,如果所连接表的列中有空值,
4、则这些空值不会互相匹配,因此不会出现在查询结果中。2外连接在内连接中,参与连接的表的地位是平等的,连接的结果是从两个或两个以上的表集合中挑选出符合条件的数据,如果数据无法满足连接条件则将其抛弃。而与之相对的连接方式是外连接(OuterJoin)。在外连接中,参与连接的表有主从之分,连接时以主表中的每一行数据去匹配从表中的数据列,查询的结果集是主表中的全部数据和从表中符合条件的与主表相匹配的行数据。当主表中的某一数据没有与之相匹配的从表数据时,则以空值填入。外部连接分为左连接(LeftOuterJoin)、右连接(RightO
5、uterJoin)和完全连接(FullOuterJoin)三种。1.左连接学生信息表中学号为“200302011”,而在学生成绩表中不存在学号为“200302011”的记录。现将学生信息表定义为主表,学生成绩表进行左连接。2.右连接用右连接的方式表示。3.完全连接使用完全连接在表学生成绩与学生信息中查询学号,姓名,班级,成绩,平时成绩。假设有两个表A和B,现在要对它们进行连接,各种连接的结果描述如表7-1所示。表几种连接方法连接类型连接说明返回结果说明AJOINBA和B内连接返回满足连接条件的A和B的记录ALEFTOUTER
6、BA左外连接B返回满足条件的记录以及返回所有A的记录ARIGHTOUTERBA右外连接B返回B的所有记录AFULLOUTERBA完全外连接B返回A和B的全部记录2视图1视图的概念视图是从基本表的基础上导出的虚拟表,兼有“表”和“查询”的特点视图(VIEW)是在数据库表(非自由表)的基础上定义的一种特殊表,是实际并不存在的虚拟表。所谓虚拟,是因为视图的数据是从表或其它视图中抽取得来的,视图的数据并没有在数据库中单独集中存储,而只是在数据库中保存视图的定义。视图一经定义,就成为数据库的组成部分,可以像表一样接受用户的查询。另外,
7、没有数据库就没有视图。使用视图可以从表中提取一组记录,改变这些记录的值,并把更新结果送回到基本表中。VFP视图又分为本地视图和远程视图.后者数据来源于远程数据库系统。视图是表的投影,是一个定制的虚拟表。视图兼有表和查询的特点:与查询一样可以用来从一个或多个相关联的表中提取有用信息;与表相类似的地方是,可以用来更新其中的信息,并将更新结果永久保存在磁盘上。视图可以看作是数据库中的一个特定的表,是基于基本表的用户层次上的一个表。视图有4个明显的优点,使得视图成为数据库设计中不可或缺的工具:(1)灵活有效的选取数据:视图既可以在一
8、个数据表中挑选出需要的字段,组成原数据表的“子表”;也可以在多个数据表中,各挑选出部分或全部字段,组成逻辑上包含多个数据表的字段的虚拟表;甚至可以通过远程数据库建立远程视图。(2)不增加数据冗余:数据库中的视图只需要定义,是不包含实际数据的。所以无论视图从数据表中选择多少数据组成“新表”,
此文档下载收益归作者所有