查询与视图 蔡海洋
查询目的 查询结果 储蓄员 资料管理员 帐号 姓名 金额 243254675 东方 4677.5 658678679 陈风 367.8 575757573 高翔 12222.4 查询结果 帐号 密码 243254675 452989 658678679 563433 575757573 565643 帐号 姓名 金额 …… 联系方式 密码 243254675 东方 4677.5 4553333 452989 658678679 陈风 367.8 3435466 563433 575757573 高翔 12222.4 6546466 565643
查询目的 学号 姓名 计算机
查询(Query) 从一个或多个表中提取满足条件的记录,然后定向输出查询结果。 是独立存在,以”.qpr”为扩展名,文本文件,内容是SQL Select命令。 可重复多次使用。
建立查询 "新建" -> "查询" -> "新建文件" create query dog1.qpr
例:新建”学生信息查询”,包括学生表中的学号、姓名、出生日期、入学成绩4个字段,并按入学成绩升序显示查询结果。
AVG(入学成绩)
查看SQL: “查询”菜单、“SQL”按钮 运行查询: “查询”菜单、“!”按钮 保存查询文件 查看SQL: “查询”菜单、“SQL”按钮 运行查询: “查询”菜单、“!”按钮 do dog1.qpr 修改查询:modify query dog1.qpr
四种联接 内部联接:Inner Join 右联接: Right Outer Join 左联接: Left Outer Join 完全联接: Full Join
内部联接( Inner Join ) 指定只有满足联接条件的记录包含在结果中,此类型是默认的,也是最常用的。
左联接( Left Outer Join) 指定满足联接条件的记录,以及满足联接条件左侧的表中记录(即使不匹配联接条件)都包含在结果中
右联接( Right Outer Join) 指定满足联接条件的记录,以及满足联接条件右侧的表中记录(即使不匹配联接条件)都包含在结果中
完全联接( Full Join) 指定所有满足和不满足联接条件的记录都包含在结果中。
联接-->设置表间联接条件 筛选--> WHERE子句。 排序依据--> ORDER BY子句。 分组依据--> GROUP BY子句。 杂项-->有无重复记录/显示记录条数 实质--> SELECT命令的图形化界面。
“查询去向”对话框 选择“临时表”后的“查询去向”对话框
视图解决方案 虚表 储蓄员 资料管理员 帐号 姓名 金额 243254675 东方 4677.5 658678679 陈风 367.8 575757573 高翔 12222.4 虚表 帐号 密码 243254675 452989 658678679 563433 575757573 565643 帐号 姓名 金额 …… 联系方式 密码 243254675 东方 4677.5 4553333 452989 658678679 陈风 367.8 3435466 563433 575757573 高翔 12222.4 6546466 565643
视图设计器 学号 姓名 计算机
视图(View) 视图在数据库中相似于表,但其数据还是存储在原来的数据表中,只是一个“虚表”。 视图相似于查询,区别在于: a.视图能更新原表; b.视图不能单独存在。它依赖于某一数据库且依赖于某一数据表而存在,只有打开与视图相关的数据库才能创建和使用视图。 c.查询可以设置查询去向,视图不能 d.视图可以加参数,查询不能
建立视图 注意:建立之前,首先打开需要使用的数据库文件。
例:新建”学生信息视图”,包括学生表中的学号、姓名、出生日期、入学成绩4个字段,并按入学成绩升序显示查询结果。 例:对学生管理数据库建立“学生成绩视图” ,显示学生学号、姓名、课程号、课程名及成绩。
视图参数 设计时设置参数,让用户在使用时输入参数值。 ?学号
更新数据
更新数据
实验作业 例1:新建”学生信息查询”,包括学生表中的学号、姓名、出生日期、入学成绩4个字段,并按入学成绩升序显示查询结果。 例2:新建”学生信息视图”,要求同例1。 例3:新建“学生成绩视图” ,显示学生学号、姓名、课程号、课程名及成绩。更新成绩。 练习P127习题3第(2)、(3)、(5)小题。 练习P127习题4第(2) 小题,更新姓名。