欢迎来到天天文库
浏览记录
ID:58833393
大小:78.50 KB
页数:8页
时间:2020-09-24
《第四章VF关系数据库标准语言SQL教案.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第四章关系数据库标准语言SQLSQL:是结构化查询语言,它包括数据查询、数据定义、数据操纵、数据控制四部分。但在VF中只绍介查询、定义、操纵三个方面。SQL命令动词:SQL功能命令动词数据查询SELECT数据定义CREATE、DROP、ALTER数据操纵INSERT、UPDATE、DELETE数据控制GRANT、REVOKE一、查询功能1、SQL语言的核心是查询。查询的基本形式:SELECT<字段名/表达式>FROM<表名/视图名>WHERE<条件>由于表是由行和列组成就像数学中所学的坐标由X轴和Y轴构成,所需确
2、定某个点需要说明X为多少Y为多少。而表中需要查询某些数据就必需指明行和列,所以在查询时:1 FROM<表名/视图名>:说明查询的数据来自于所需要的表或视图。若某于多个表时,各个表之间用逗号隔开。2 SELECT<字段名/表达式>:说明从表或视图中所查询结果是哪些字段名或表达式的值(各字段名或表达式之间用逗号隔开)即针对表的列来操作(限定列)。3 WHERE<条件>:说明从表或视图中所查询结果是哪些行即记录针对表的行来操作(限定行)。关于其它短语的说明:短语说明
3、表名.*来自于某(些)表的所有字段(属性)DISTINCT去掉查询结果中的重复记录(元组)IN相当于数学集合“∈”只需属于其中一个元素(值)就是满足条件;NOTIN则不属于其中任意一个元素(值)就满足条件BETWEEN…AND表示…和…之间,注意和第二章BETWEEN()函数的区别LIKE字符串匹配运算符,注意通配符是“%”和“_”与第二章LIKE()函数区别ORDERBY对指定某个(些)字段排序,只能对最终的查询结果排序,不能用于子查询GROUPBY用于分组计算查询(指定分组依据)HAVING对GROUPBY分
4、组计算查询的结果进一步的加以限定即限定分组(对分组之后的限定),必须跟GROUP连用,不能单独使用。但与WHERE条件无关,因WHERE条件是对分组之前限定某些元组(记录)是否来参加分组。(注:HAVING与WHERE使用的区别)ISNULL查询某字段为空值的记录(元组),但不能用“=NULL”表示ISNOTNULL查询某字段不为空值的记录(元组),但不能用“#NULL”或“NOTISNULL”ANY/SOME子查询中只需一行为.T.则外层就满足条件ALL子查询中所有的行都为.T.则外层就满足条件EXISTS子查
5、询中只需有结果(无论多少),则外层就满足条件NOTEXISTS子查询中只需有结果,则外层就满足条件COUNT()统计查询结果的记录(元组)条数这五个函数只能跟在后面,不能直接跟在其它短语后面MAX()对某列(数值类型)求最大值MIN()对某列(数值类型)求最小值AVG()对某列(数值类型)求平均值SUM()对某列(数值类型)求和[INNER]JOIN普通(内部)连接即只有满足条件的记录才出现在查询结果当中LEFTJOIN左连接即除满足条件的记录外,第一个表不满足条件的记录也出现在查询结果当中RIGHTJOIN右连
6、接即除满足条件的记录外,第二个表不满足条件的记录都会出现在查询结果当中FULLJOIN全连接即除满足条件的记录外,第一个表和第二个表中不满足条件的记录都会出现在查询结果当中UNIONSQL查询中唯一的一个并运算,将两个SELECT查询语句的查询的结果合并成一个查询结果TOP显示前面的部分记录,必须跟ORDERBY连用。注意TOP必须书写在查询结果第一个字段的前面如:SELECTTOP2姓名,出生日期FROMXSINTOARRAY把查询结果存储到某个数组当中INTOCURSOR把查询结果存储到某个临时表当中INTO
7、TABLE/DBF把查询结果存储到某个永久表(自由表)中TOFILE把查询结果存储到某个文本文件当中TOPRINTER把查询结果输出到打印机可以在3个区域中创建SELECT命令。1 在命令窗口中;2 在VFP程序中3 在查询设计器中注:当FROM后面来自于多个表时,必须写连接条件(通常根据表的公共字段作为连接条件),此时在书写公共字段之前必须加以别名限定。定义表的别名方法见教材P137,超连接的格式见教材P140FROM书写不要写成=>FORM二、查询方法:1
8、、简单查询:例:从职工表中检索所有的工资值。SELECT工资FROM职工表或者SELECT*FROM职工表如果要去掉重复值用:DISTINCT例:检索哪些仓库有工资多于1260元的职工号SELECTDISTICT仓库号FROM职工表WHERE工资>12602、 单击的连接查询:类似于多个表的查询,与嵌套查询的区别是要查询的结果呆以出自多个表中。而嵌套查询的结果是基于一个表
此文档下载收益归作者所有