文档详情

数据库基础教程SQL Server平台)[顾韵华]第3章.ppt

发布:2017-08-01约1.63万字共127页下载文档
文本预览下载声明
(5) 替换查询结果中的数据 在对表进行查询时,有时对所查询的某些列希望得到一种概念而不是具体数据。 要替换查询结果中的数据,则要使用查询中的CASE表达式,格式如下: CASE WHEN 条件1 THEN 表达式1 WHEN 条件2 THEN 表达式2 …… ELSE 表达式 END 示例 SELECT 商品编号,商品名称, 价格等级= CASE WHEN 单价 IS NULL THEN 尚未定价 WHEN 单价 20 THEN 低 WHEN 单价=20 AND 单价=50 THEN 中 WHEN 单价50 AND 单价=100 THEN 较高 ELSE 高 END FROM SPB (6) 去除重复行 一个表中本来并不完全相同的元组,当投影到指定的某些列上时,就可能变成相同的行了。 可以用DISTINCT语句取消它们。 【例】 在SPDGB表中查询订购了商品的客户编号。 SELECT 客户编号 FROM SPDGB 2. 选择行 选择表中的部分或全部元组形成结果表 相当于:关系代数的投影运算 查询满足条件的行通过WHERE子句实现。 WHERE子句必须紧跟FROM子句之后。 构成WHERE子句的条件表达式的运算符也称谓词。 谓词包括:比较运算、指定范围、确定集合、字符匹配、空值比较和逻辑运算等几类。 可以将多个判定运算的结果通过逻辑运算符再组成更为复杂的查询条件。 查询满足条件的元组 常用查询条件 AND,OR,NOT 逻辑运算 IS NULL,IS NOT NULL 空值比较 LIKE,NOT LIKE 字符匹配 IN,NOT IN 确定集合 BETWEEN AND,NOT BETWEEN AND 指定范围 =,,=,=,,,!=(不等于)、!(不小于)、!(不大于) 比较运算 谓 词 查 询 条 件 SELECT语句的ORDER BY子句可用于对查询结果按照一个或多个列、表达式或序号进行升序(ASC)或降序(DESC)排列,默认值为升序(ASC)。 ORDER BY子句的格式如下: ORDER BY 列名1 [ASC | DESC] [,列名2 [ASC | DESC] …] 当按多个列排序时,前面列的优先级高于后面的列。 3. 对查询结果排序 【例】 将KHB表中的所有客户按所在省市的汉语拼音顺序排序。 SELECT * FROM KHB ORDER BY 所在省市 【例】 将KHB表中的所有客户按姓名的汉语拼音升序、再按年龄由小到大排序。 SELECT * FROM KHB ORDER BY 客户姓名 ASC,出生日期 DESC 示例 SELECT子句表达式可以包含聚合函数(Aggregate Function,也称统计、组、集合或列函数),用来增强查询功能。 聚合函数是指对集合操作但只返回单个值的函数。 使用聚合函数须遵循以下规则: ① 带有一个聚合函数的SELECT语句仅产生一行作为结果。 ② 不允许嵌套使用聚合函数。几种表达式形式可用作聚合函数的参数,但不能作为聚合函数本身。 ③ 如果SELECT子句包含一个或多个聚合函数,则SELECT子句中的列规范仅发生在聚合函数内。 4. 聚合函数 常用聚合函数 返回表达式中所有值的和 SUM 求最小值 MIN 求最大值 MAX 求组中项数,返回int类型整数 COUNT 求组中值的平均值 AVG 说 明 函 数 名 SUM和AVG分别用于求表达式中所有值项的总和与平均值,语法格式如下: SUM | AVG ([ ALL | DISTINCT ] 表达式) 【例】 查询SPB表中所有商品的平均单价。 SELECT AVG(单价)AS 平均单价 FROM SPB SUM和AVG MAX和MIN分别用于求表达式中所有项的最大值与最小值,语法格式如下: MAX | MIN ([ ALL | DISTINCT ] 表达式) 【例】查询SPB表中最高和最低单价。 SELECT MAX(单价) AS 最高单价 , MIN(单价) AS 最低单价 FROM SPB MAX和MIN COUNT用于统计组中满足条件的行数或总行数,格式如下: COUNT ( { [ ALL | DISTINCT ] 表达式 } | * ) 【例】查询客户总数。 SELECT COUNT(*) AS
显示全部
相似文档