4.查询及视图.ppt

  1. 1、本文档共52页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
查询与视图 查询主要是从表中检索或统计出所需数据,而视图不仅具有查询的功能,而且可以改变视图中的数据并把更新结果返回到源表中;查询以独立的文件存储,而视图则存储在数据库中。 查询文件保存的是实现查询的SQL命令,而非查询的结果。 使用查询设计器建立查询步骤 1.分析题目,查询结果要求输出哪些字段?这些字段分别在哪些表中? 2.确定查询所基于的数据源(哪几张表),如果有多张表,添加表时的顺序要注意:如果两个表是一对多联系,一般“一”表在“多”表之前添加,而且要设置表之间的联接条件(联接条件一般是两个表的公共字段值相等,联接类型一般用内部联接类型) 使用查询设计器建立查询步骤 3.设置查询的输出字段 4.设置筛选条件,可以对数据源中的记录进行筛选 5.设置排序依据,对查询输出结果进行排序 6.设置分组依据,根据一个或多个字段(即分组依据)对数据源中的记录进行分组,对每组记录进行统计性的计算(如果题目要求计算平均值、最大值、最小值、统计人数等,则要用到分组) 两个表是一对多联系 有两个表记为A表、B表 如果A表中每条记录与B表中任意条(包括0条)记录有联系,但B表中每条记录只与A表中一条记录有联系,则称A表与B表是一对多联系 例如课程(kc)表与成绩(cj)表、 系名( xim )表与学生(xs)表、学生(xs)表与成绩(cj)表 两个表是一对一联系 有两个表记为A表、B表 如果A表中每条记录至多只与B表中一条记录有联系,并且B表中每条记录也至多只与A表中一条记录有联系,则称A表与B表是一对一联系 例如:教师(js)表与工资(gz)表是一对一联系 设置联接条件:两个表的公共字段值相等kc.kcdh=cj.kcdh 设置联接条件:两个表的公共字段值相等kc.kcdh=cj.kcdh 设置查询结果的分组依据 所谓分组,即是对表中一组类似的记录压缩成一个结果记录,以完成基于一组记录的计算或统计。在分组依据中,选择kc.kcdh分组。 创建查询的两种方法 查询设计器(图形界面形式) SELECT-SQL命令(命令形式) 利用查询设计器所做的设计工作,实质上都是在查询文件中生成并保存为一个SELECT-SQL命令 SELECT命令的基本格式 SELECT 查询输出字段列表; FROM 数据源表1 INNER JOIN 数据源表2; ON 数据源表1.字段名=数据源表2.字段名; [ WHERE 筛选条件;] [GROUP BY 分组字段名1,分组字段名2…;] [HAVING 筛选条件;] [ORDER BY 查询输出字段或分组字段] 用视图设计器建立视图,查找至少有一门成绩在80分以上学生的学号、姓名和总分。 分析:添加表xs表、cj表 ,内部联接 输出字段xs.xh,xs.xm,sum(cj.cj) AS 总分 分组依据:xs.xh 满足条件:MAX(cj.cj)=80 二、SELECT-SQL命令 语法格式: Select [all|distinct] [top nexpr [percent]] [alias.] select_item [as column_name]… from [databasname!]tablename inner|left|right|full] join [databasname!]tablename [on joincondition] [into destination]… [where joincondition]… [group by broupcolumn…] [having filterconditon] [union[all] selectcommand] [order by order_item…] SELECT-SQL语句主要组成部分 TOP nExpr [PERCENT] 指定结果的范围 ALL/DISTINCT 指定有无重复记录 HAVING子句 筛选结果记录 ORDER BY子句 指定结果顺序 GROUP BY子句 定义记录的分组 INTO子句和TO子句 指定输出类型 字段、函数和表达式的列表或* 指定输出字段 WHERE子句 筛选源表记录 定义 结果 …JOIN…ON…子句 指定源表间的联接 FROM子句 指定数据源表 定义 数据源 SELECT-SQL 三、SELECT-SQL 应用举例 例1.1:显示学号以“99”开头的学生情况 select * from sjk!xs where like(“99*”,xh) 例1.2:显示学号以“99”开头的学生的学号、姓名 例2:从高到低显示cj表中课程代号为“01”的课程的学生的学号和成绩 select cj.xh,cj.cj from sjk!cj; where cj

文档评论(0)

0520 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档