- 1、本文档共15页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
附录-VFP9.0SQL基础
附录 VFP 9.0 SQL基础;※ SQL全称是“结构化查询语言(Structured Query Language) 。
※ SQL(Structured Query Language)是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。
※ SQL语句可以嵌套,这使他具有极大的灵活性和强大的功能,在多数情况下,在Visual FoxPro中需要一大段程序实现的功能只需要一个SQL语句就可以达到目的。
※ Visual FoxPro 支持 SQL 命令。SQL 命令在 Visual FoxPro 9.0 中进一步被充分地予以增强 ,例如支持多重子查询 ,支持 UPDATE 命令相互关联的更新等。
※今天所讲的内容均在Visual FoxPro 9.0环境中运行。; ※ 数据查询命令,例如:SELECT语句
※ 数据定义命令,例如:CREATE、ALTER等语句。
※ 数据操作命令,例如:INSERT、UPDATE、DELETE语句。
;SELECT语句的基本格式
SELECT [Alias.] Select_Item [[AS] Column_Name]
FROM Table [[AS] Local_Alias]
[WHERE FilterCondition ]
[Group By GroupColumn [, GroupColumn ...]]
[HAVING FilterCondition]
[Order By Order_Item [ASC | DESC]
[INTO dbf new_table |cursor temp_table |array array_name];(一)、无条件查询
最基本的 SELECT 语句仅有两个部分:要返回的列,和这些列源于的表。也就是说查询均为不使用WHERE子句的无条件查询。;例3 查询wbk中所有网报日期为2008年8月20日的数据。
SELECT * FROM wbk WHERE wbrq=2008-08-20‘
说明:由于这个表中的wbrq字段是字符型的,所以‘2008-08-20’用了引号。如果wbrq字段是日期型的,则需改为wbrq={^2008-08-20};
例5 查询08年5月卧龙区会考成绩库中课程号为01或者02的数据。
SELECT * FROM 085卧龙会考成绩 WHERE 课程号=01 OR 课程号=02
说明:这里使用了另一个运算符:or,表示或者运算。;(三)、查询排序
当需要对查询结果排序时,应该在SELECT语句中使用ORDER BY子句。ORDER BY 子句包括了一个或多个用于指定排序顺序的列名,排序方式可以指定,DESC为降序,ASC为升序,缺省时为升序。ORDER BY子句必须出现在其他子句之后。;(四)、分组查询
1、GROUP BY子句可以将查询结果按列进行分组。;例11 在会考成绩库中,分别计算每一门课程报考了多少人,最高等级,最低等级,平均等级值,等级总和。
SELECT 课程号,MAX(等级),MIN(等级),AVG(VAL(等级)),SUM(VAL(等级)),COUNT(会考证号) FROM 085卧龙会考成绩 GROUP BY 课程号
说明:由于表中的等级字段为字符型,所以用了一个VFP的类型转换函数:VAL(),将字符型的值转换为数值型的值进行计算。;例13:将会考成绩的纵向表转换为横向表。
SELECT 会考证号,MAX(IIF(课程号=01,等级,)) as zh,MAX(IIF(课程号=02,等级,)) as yw,MAX(IIF(课程号=03,等级,)) as sx,;
MAX(IIF(课程号=04,等级,)) as wy,MAX(IIF(课程号=05,等级,)) as wl,MAX(IIF(课程号=06,等级,)) as hx,;
MAX(IIF(课程号=07,等级,)) as sw,MAX(IIF(课程号=08,等级,)) as ls,MAX(IIF(课程号=09,等级,)) as dl;
FROM 085卧龙会考成绩 GROUP BY 会考证号
说明:IIF(条件表达式,值1,值2)函数的使用方法是:若满足条件表达式,则返回值1,否则,返回值2。;(五)、多个表关联查询
前面4类所讲到的都是在一个表中进行查询,但我们在工作实际中常常会遇到需要将多个表关联在一起进行查询,下面我们通过一个例子来说明如何进行多个表关联查询。;(六)、子查询
在WHERE子句中包含一个SELECT-FROM-WHERE的查询块,此查询块称为子查询或嵌套查询,包含子查询的语句称为父查询或外部查询。下面我们通过一个例子来说明简单的子查询的使用方法。;
文档评论(0)