第五章TransactSQL数据查询与更新.ppt
《第五章TransactSQL数据查询与更新.ppt》由会员分享,可在线阅读,更多相关《第五章TransactSQL数据查询与更新.ppt(46页珍藏版)》请在三一文库上搜索。
1、第五章 Transact-SQL数据查询与更新 假如有人提出这样的一些需求,我们如何处理呢 1、我希望将学生基本信息中的姓名,家庭住址,联 系电话单独放入一个新表中保存 2、我想统计不同政治面貌的人数 3、后勤处想知道表中有几种少数民族,方便安排 伙食. 4、我有个熟人叫马某某,是男同学,名字是两个 字的,帮我查查 1 第五章 Transact-SQL数据查询与更新 5.1 简单数据查询 5.2 分组查询 5.3 联接查询 5.4 子查询 5.5 联合查询 5.8 排名函数 5.9 数据更新 5.10 事务 2 学生基本信息表 第五章 Transact-SQL数据查询与更新 学生基本信息表 3
2、 成 绩 表 一 个 学 生 各 门 课 程 各 门 课 程 的 成 绩 4 系 部 表 课程信息表 5 5.1 简单数据查询 SELECT select_list INTO new_table FROM table_source WHERE search_condition GROUP BY group_by_expression HAVING search_condition ORDER BY order_expression ASC | DESC COMPUTE 子句 6 5.1 简单数据查询 SELECT各子句执行顺序及功能简介: (1) SELECT子句:用于指定输出列(字段),也可
3、求值输出 。 (2) INTO子句:将检索结果存储到新表或视图中。 (3) FROM子句:用于指定检索数据的源表或视图。 (4) WHERE子句:指定选择行(记录)的过滤条件。 (5) GROUP BY:子句对检索到记录进行分组。 (6) HAVING子句:系指定记录辅助过滤条件,从分组的结果 中筛选行,即选取满足条件的那些组。 (7) ORDER BY子句:是对检索到数据进行排序;ASC 和 DESC 关键字用于指定行是按升序还是按降序排序,默认升序。 7 5.1 简单数据查询 例:使用 SELECT 语句查找学生基本信息表中回族同学 的姓名和家庭住址,按出生日期降序排列。 SELECT 姓
4、名,家庭住址 FROM 学生基本信息表 WHERE 族别=回族 ORDER BY 出生日期 DESC Select - from - where - 8 5.1 简单数据查询 5-1 SELECT子句和FROM子句 1、语法 SELECT ALL | DISTINCT TOP n PERCENT WITH TIES l ALL关键字:为默认设置,用于指定查询结果集的所有行, 包括重复行。 l DISTINCT: 用于删除结果集中重复的行。 l TOP n PERCENT : 指定只返回查询结果集中的前n行。 如果加了PERCENT,则表示只返回查询结果集中的前n%行。 WITH TIES 用于
5、指定从基本结果集中返回附加的行。 9 5.1 简单数据查询 2、选择列 (1)选择所有列* (2)选择指定列,各列之间用逗号分隔。 3、在查询结果集中加入常量,字符“-”将名称的两个部分分开。 Select 课程编号+-+课程名称 from 课程信息表 (说明:字段间用加号表示将字段值合并为一列,-也可改为其他) 4、为选择列指定别名 列表达式 as 列别名 或 列表达式 列别名 或 列别名=列表达式 Select avg(成绩) as 平均成绩 from 成绩表 10 4、选择列表中的计算表达式 (1)对数字列或常量使用算术运算或函数进行的运算。 Select MAX(成绩) as 最高分
6、from 成绩表 Select sum(奖金) as 奖金总和 from 职工工资表 ( 2 ) Case 语句 USE TEST SELECT 学号, 等级= CASE WHEN 成绩=90 THEN 优 WHEN 成绩=80 THEN 良 WHEN 成绩=70 THEN 中 END FROM 成绩 5.1 简单数据查询 11 5.1 简单数据查询 (3)数据类型函数 Select 学号, 课程编号+cast (成绩 as char(8) from 成绩表 6、使用distinct消除重复行 Select distinct 族别 from 学生基本信息表 7、使用top和percent限制结
7、果集 Select top 3 学号,姓名 from 学生 8、 从学生基本信息表中只显示10%的信息 select top 10 percent * from 学生基本信息表 9、显示成绩表1%行信息,要求附加行,按学号降序排列 Select top 1 percent with ties * from 成绩表 order by 学号 desc 12 关于select和from语句的课堂作业 1. 显示学生基本信息表中学生的姓名,家庭住址 2. 显示学生基本信息表的后10个学号的信息。 3. 将学生的成绩上涨10%显示,该字段设为“期望成绩” 4. 将学生基本信息表中的学生年龄降序排列 SE
8、LECT 姓名,家庭住址 FROM 学生基本信息表 SELECT TOP 10 * FROM 学生基本信息表 ORDER BY 学号 DESC SELECT 学号,成绩*1.1 AS 期望成绩 FROM 成绩表 SELECT 姓名,DATEDIFF(YEAR,出生日期,GETDATE() AS 年龄 FROM 学生基本信息表 ORDER BY 年龄 DESC 13 5.1 简单数据查询 2 WHERE子句 1、比较运算符(,2 2、范围 (between 和not between) Select 学号 from 成绩表 where 成绩 not between 60 and 80 3、关键字i
9、n 与not in Select * from 学生 where 学分 not in(2,8,12) 4、模式匹配(like和not like) _表示任何单个字符,%表示任意多个字符 在指定范围内的任何单个字符。 不在指定范围内的任何单个字符 14 5.1 简单数据查询 Like通配符的运用 搜索以张开头的姓名 搜索有个“丽”字的姓名 搜索姓名最后一个字是勇 搜索以9结尾的两位数学号 搜索姓张,王,李,赵的姓名 搜索除了张,王,李,赵的姓名 搜索以m开头,第二字母不是c的 所有名称 like 张% like %丽% like %勇 like _9 like 张王李赵% like 张王李赵%
10、like mc% 15 5.1 简单数据查询 5、空值(is null和is not null) 例:查询testdb库的成绩表中补考成绩空值情况 Select * from 成绩 where 补考成绩 is null 6、所有记录(=all,all,300) or (区域=西北 and 学号 like03%) 16 select * from 学生基本信息表 where 姓名 like 赵钱孙李% select * from 学生基本信息表 where 性别=男 and 姓名 like 马_ 关于where语句的课堂作业 1、 显示学生中姓名赵钱孙李的学生信息 2、 查询马(二字组成的姓名)
11、的男同学信息。 17 5.2 分组查询 9-3-1 常用统计统计 函数 在SELECT 语句中,可以使用统计函数、GROUP BY 子句和COMPUTE BY 子句对查询结果进行分类汇总 18 5.2 分组查询 1、显示学生基本信息表最小出生日期 Select min(出生日期) from 学生基本信息表 2、查询工资表中最高的基本工资信息 Select max(基本工资)from 工资表 3、显示工资表中平均基本工资信息 Select avg(基本工资) from 工资表 4、统计学生基本信息表中“汉族”学生人数 Select count(*) from 学生基本信息表 where 族别=汉
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第五 TransactSQL 数据 查询 更新
链接地址:https://www.31doc.com/p-2560902.html