第05章查询和视图.ppt
文本预览下载声明
第 5 章查 询 和 视 图 引言 1、为什么要学习查询与视图? 视图和查询利用查询,可以在多个表中提取特定的数据,方便地实现对各种数据的查询。 2、SELECT-SQL命令重要性 查询、视图中存放的都是 SELECT-SQL命令 5.1 SQL语言和查询技术 5.2 查询的创建和使用 5.3 视图的创建和使用 1. 综合统一 1. CREATE CURSOR - SQL 2. CREATE TABLE - SQL 3. ALTER TABLE – SQL SELECT [ ALL | DISTINCT ] [ TOP n [ PERCENT ] ] [别名.]列表项 [AS 列名] [,[别名.]列表项 [AS 列名] …] FROM [数据库!]表名 [别名] [,[数据库!]表名 [别名] …] [INNER | LEFT | RIGHT | FULL JOIN 表名 ON 联接条件] [[INTO ARRAY 数组名 | CURSOR 临时表名 | DBF 表名 | TABLE 表名] | [TO FILE 文件名 [ADDITIVE] | TO PRINT [PROMPT] | TO SCREEN] ] [WHERE 条件表达式] [GROUP BY 列名 [,列名…] [HAVING 条件] ] [UNION [ALL] SELECT 命令] [ORDER BY 表达式 [ASC | DESC][,…]] SELECT 列表项用于指明查询输出的项目 FROM子句指明被查询的自由表、数据库表或视图名。 INTO、TO 子句指明查询结果保存在何处。 WHERE 子句指明查询的联接条件或筛选条件 GROUP BY子句表示将查询结果按指定列的值分组 UNION子句把一个SELECT语句的查询结果同另一个SELECT语句的查询结果组合起来。 ORDER BY子句可对查询结果按子句中指定的列的值排序 SELECT子句 用于指明查询输出的项目,可以是字段、表达式。利用表达式可以查询表中未存储但可以计算出的结果。 FROM子句 指明数据源即被查询的表或视图名。 SELECT和FROM子句是每个SQL查询语句所必须的。 WHERE子句 说明查询的条件: 用来指定筛选记录的条件。有多个条件时,可用AND或OR连接。 ORDER BY子句 可对查询结果按子句中指定的列的值排序。 可以多个列,用逗号分隔,写在前面的优先,可以写列名或编号。 ASC表示升序,DESC表示降序。缺省情况下,是以升序排序(ASC)。 数据区间查询:在查找中,如果要求某列的数值在某个区间内,可用谓词: BETWEEN…AND… 表示; 如果要求某列的数值不在某个区间内,可用谓词: NOT BETWEEN…AND… 表示。 当然查询的条件也可以直接用相应的逻辑表达式来表示。 数据包含查询:若查找的列值是某几个值中的一个,此时可用谓词IN…来表示。同样可以使用谓词NOT IN…来表示与IN…完全相反的查询。 数据匹配查询:在查找中,有时需要对字符串比较。LIKE提供两种字符串匹配方式,一种是使用下划线符“_”,匹配任意一个西文字符或中文字符,另一种是用百分号%,匹配0个或多个字符的字符串。同样可以使用NOT LIKE表示与LIKE相反的含义 多表联接查询与单表查询的不同: 查询的数据源为两个以上的表或视图 表之间需要建立联接条件或使用筛选条件 SQL语言可以在两个表之间按指定列的相同值将一个表中的行与另一表中的行连接起来,从而大大增强了其查询能力。 SELECT语句可以通过字段函数对满足条件的数据进行统计、计数等运算。下列五种字段函数可以在SELECT子句中与选定的列一起使用。 MIN 求(字符、日期、数值)列的最小值 MAX 求(字符、日期、数值)列的最大值 COUNT 对一列中的值计算个数 SUM 计算数值列的总和 AVG 计算数值列的平均值 这些函数可从一组值中计算出一个汇总信息。 GROUP BY子句:将表按列的值分组,列的值相同的分在一组内,每一组聚合生成一条记录,通常情况下,根据统计要求进行分组,如果未进行分组,则结果为全体数据的统计。基表中的一组数据在查询结果中生成一条记录。 HAVING 条件:在Having后的条件是用来指定每一分组所应满足的条件,只有符合条件的组才能在结果中输出;而前面所讲的WHERE子句中的条件,是用来指定表中元组(记录)所应满足的条件。 如果一个SELECT命令无法完成查
显示全部