资源描述:
《vfp 课件 第4章 查询与视图》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第4章查询与视图5.1.1SQL概述:发展、特点SQL(StructuredQueryLanguang,结构化查询语言)语言是集数据定义、数据查询、数据操纵和数据控制功能于一体的语言,1986年被美国国家标准局批准成为关系型数据库语言的标准。它只能用于对数据库中数据的操作。SQL语句最主要的功能就是查询功能。使用时无须打开表,只需将要连接的表、查询所需的字段、筛选记录的条件、记录分组的依据、排序的方式以及查询结果的显示方式,写在一条SQL语句中,就可以完成特定的工作。特点:(1)建立查询之前,源表处于开/关皆可;(2)查询命令运行之后:所用到的所有源表处于开状态,但活
2、动工作区中是结果表;(3)建议:不用时关闭所有工作区。5.1.2SELECT_SQL命令格式SQL语句创建查询使用的是Select语句。语句结构:P127Select[ALL
3、DISTINCT]<字段名清单>From数据源Where查询条件Groupby分组关键字Having组提取条件Orderby排序关键字[ASC/DESC]Tofile文件名
4、into目标
5、toprinter
6、toscreen目标:intodbf<表名>intoarray<数组名>intocursor<临时表名>一、单表查询。1、select[范围]from<表或视图>(1)查询学生的全部信息。s
7、elect*from学生信息(2)、查询每个学生的学号与姓名。select学号,姓名from学生信息(3)、显示表中所有专业①select专业from学生信息;②selectdistinct专业from学生信息2、select
8、ct学号,英语+计算机+大学语文+政治as总分,姓名from学生成绩一、带筛选条件Where的单表查询。(Where查询条件)1、SELECT[ALL
9、DISTINCT]<字段列表>FROM<表>;[WHERE<条件表达式>]说明:<条件表达式>由一系列用AND或OR连接的条件表达式组成。(1)检索计算机成绩高于80分的所有记录。 SELECT*FROM 学生成绩 WHERE计算机>80用WHERE短语指定了查询条件,查询条件可以是任意复杂的逻辑表达式。(2)检索计算机成绩高于80分而且英语成绩及格的所有记录。SELECT*FROM 学生成绩 WHERE计算机>80a
10、nd英语>=60(3)查询考试成绩不及格的学生的学号.(SC)select学号from学生成绩where计算机<602、模糊查询(可以看作是前一种情况中的一种)Select字段from表where字段like“%”查询所有姓李的记录,只显示学号和姓名select学号,姓名from学生成绩where姓名like"李%"三、排列顺序(Orderby排序关键字[ASC/DESC])(1)查询学生的姓名、身高,结果按身高降序排列。SELECT姓名,身高FROM学生信息ORDERBY身高desc(2)查询学生的姓名、身高、性别,结果按性别降序排列,性别相同的按身高的升序排列,并
11、只输出前四条记录.(Student)SELECTtop4姓名,身高,性别FROM学生信息ORDERBY性别desc,身高asc一、分组查询(先分组,再统计)(Groupby分组关键字Having组提取条件)(1)求男同学和女同学的平均身高。①SELECT性别,avg(身高)FROM学生信息GROUPBY性别②SELECT性别,avg(身高)as平均身高FROM学生信息GROUPBY性别注:nGROUPBY子句一般跟在WHERE子句之后,没有WHERE子句时,跟在FROM子句之后。另外,还可以根据多个属性进行分组。n在分组查询时,有时要求分组满足某个条件时才检索,这时可
12、以用HAVING子句来限定分组。(2)求各种血型(每种血型至少有三个同学)的同学的平均身高。SELECT血型,avg(身高)FROM学生信息GROUPBY血型HAVINGCOUN(*)>=3五、查询结果的去向。(Tofile文件名
13、into目标
14、toprinter
15、toscreen)1.查询学生的姓名、身高,按身高降序排列,结果保存到文本文件xs1中。SELECT姓名,身高FROM学生信息ORDERBY身高desctofilexs12.将上一题的结果保存到表文件xs2中。SELECT姓名,身高FROM学生信息ORDERBY身高descintodbfx