a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 117|回复: 0

[Visual FoxPro] 2011年度计算机等级考试二级VFP基础教程(48)

[复制链接]
发表于 2012-7-31 22:17:54 | 显示全部楼层 |阅读模式
 6.1 查询(query)(一)  一.查询:所谓查询,就是从数据库的一个表或关联的多个表中,检索出符合条件的信息,并可对查询结果分组或排序存储于指定的文件中.查询文件的扩展名为.qpr.查询只能从表中提取数据,但不能修改数据.如果既要查询数据,又要修改数据,可使用视图.
' A8 e$ K3 A$ G% F6 r, L0 m  V  二.查询的创建: 创建查询的方法有三种:一是使用查询向导,二是使用查询设计器,三是直接编写select-sql语句.不管用查询向导还是用查询设计器,其结果都是生成一条select-sql语句,在本质上是select-sql命令的可视化设计方法.我们这里介绍使用查询设计器创建查询.
( n! w% E' m; t  Z1 p# c; @  1.使用查询设计器创建查询的基本步骤:! p% C. s0 y4 ?. k! R- F
  (1).启动查询设计器
* g6 R: K- g# J  (2).添加表# c7 ~; ~2 z! \9 g& {& G  x
  (3).设置表间关联9 p( N$ S6 O7 ?  x
  (4).选择显示字段
7 _1 p+ j' A9 T: u  (5).设置筛选记录条件, E8 e$ i8 C; ]# ^
  (6).排序,分组查询结果
  }  v# ]$ l7 S, S, s  (7).设置查询输出类型% I3 w; M7 {8 A: X. \2 M
  2.启动查询设计器:) c* \, x( [8 M& s8 e# U
  (1)在项目管理器中选择"数据"或"全部"选项卡,选择"查询"文件类型,然后单击"新建"按钮,单出"新建查询"对话框,如图52
9 _9 K. [9 C" ~  @, T0 {
: p* \2 l3 L4 g, G& ^) Z  (2)在"新建查询"对话框中单击"新建查询"按钮,弹出"查询设计器"窗口,如图53所示
7 \5 O1 R  l* [- T3 | $ p" _# P$ @" o
  3.查询设计器介绍:) @" w2 M' w! Z& T( Z, ^
  (1)数据环境:查询设计器的上半部分是数据环境显示区,用于显示所选择的表或视图,可右击其空白处,选"添加表"或"移动表"命令向数据环境添加或移动表.如果是多表查询,还可在表之间可视化的连线建立关系.; R9 ~0 f# Y/ e: x/ _, U2 d) G
  (2)"字段"选项卡:在"查询设计器"中,选择"字段"选项卡, 在"可用字段"列表中列出了查询数据环境中选择的数据表的所有字段;在"选定字段"框中设置在查询结果中要输出的字段或表达式;"函数和表达式"框用于建立查询结果中输出的表达式."选定字段"框中行的顺序就是查询结果中列的顺序.: V! k8 F  e% E  l+ V4 k
  在"可用字段"框和"选定字段"框之间有4个按钮:"添加","全部添加","移动"和"全部移动"按钮,用于选择或取消选定字段.
7 [$ V1 w! n3 Q. @; c3 A  在"函数和表达式"框中,可以用来输入一个表达式,或单击"…按钮,打开"表达式生成器"对话框,生成一个表达式,单击"添加"按钮,表达式就出现在"选定字段"框中.还可以给选定的字段或表达式起一个别名,方法是在"函数和表达式"框中字段名或表达式后输入"AS 别名",查询结果中就以别名作为该列的标题.7 B" y& B& A$ h! [4 }
  例如,在"职工档案"表中有出生时间字段,为了输出年龄,可以在"选定字段"框中加入下列表达式:1 |( s' R2 C2 X/ _, p: l
  year(date())-year(职工档案!出生时间)+1 AS 年龄+ T9 f; }* [" y/ h' j
  在该表达式中,用当前系统日期的年份减去出生时间的年份,得到了职工的年龄,并给该表达式起了一个别名"年龄"
- \1 h5 v5 m2 N  d1 E' ]  (3)"联接":进行多表查询时,需要把所有有关的表或视图添加到查询设计器的数据环境中,并为这些表建立联接.这些表可以是数据表,自由表或视图.* g/ U) I- p8 l% s
  当向查询设计器中添加多张表时,如果新添加的表与已存在的表之间在数据库中已经建立永久关系,则系统将以该永久关系作为默认的联接条件.否则,系统会打开"联接条件"对话框,并以两张表的同名字段作为默认的联接条件,如图54所示。% t9 m" m7 `6 t2 v5 k' Z8 m# o5 Z0 B* d

' a  u7 R  Z; c4 T4 m" E2 V3 F/ j  在该对话框中有四种联接类型:内部联接(inner join),左联接(left outer join),右联接(right outer join)和完全联接(full join),其意义下表.系统默认的联接类型是"内部联接",可在"联接条件"对话框中更改表之间的联接类型.# H6 a; n3 E& d9 w4 y7 ?$ ?5 Q9 v
联接类型说明内部联接两个表中的字段都满足联接条件,记录才选入查询结果左联接联接条件左边的表中的记录都包含在查询结果中,而右边的表中的记录只有满足联接条件时,才选入查询结果右联接联接条件右边的表中的记录都包含在查询结果中,而左边的表中的记录只有满足联接条件时,才选入查询结果完全联接两个表中的记录不论是否满足联接条件,都选入查询结果  两表之间的联接条件也可以通过"查询设计器"的"联接"选项卡来设置和修改,如图55所示
" s1 k8 T. l) x( I: x9 J6 J! _5 j1 E
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-5-7 03:29 , Processed in 0.200708 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表