SQLServer2012书学习七八统计数据与视图

第七章  查询与统计数据

  目标: 了解SELECT 语句的构成、通配符和聚合算法的使用方法、SELECT语句中各子句使用方法、子查询和连接查询的使用方法、运用SELECT语句解决实际的查询问题

  1、SELECT语句的完整语法包括SELECT、FROM、WHERE、GROUP BY、HAVING、ORDER BY子句。在查询时还可以使用UNION,EXCEPT将结果集合并或比较,最终合成一个结果集。

      select * into new table from table where () group by () order by () asc desc (升序,降序)

  2、通配符

    %表示任意多个字符,_表示任意一个字符,[]表示方括号中列出的任意一个字符,[^]表示不属于方括号中的任意一个字符

    LIKE ‘%AB‘    返回以AB结尾的任意一个字符    LIKE ‘AB%‘ 返回以AB结束的任意一个字符   LIKE ‘[AB]%‘    返回以A或者B开头的任意一个字符  LIKE ‘A[^a]%‘ 返回以A开头,不以a为第二个字符的任意字符串

    [%] 表示纯粹的%而不表示通配符, LIKE ‘5[%]‘   表示匹配5%的字符

  3  聚合函数

    聚合函数也称为统计函数,是对一组值进行计算并且返回一个数值,通畅与GROUP BY 一起使用。除了COUNT外,其他都会忽略NULL值

      COUNT(ALL  |  DISTINCT)   求列数目,ALL 去除为空的列,   DISTINCT 去除为空和重复的列

      SUN(ALL  |   DISTINCT)  求和

      MAX(ALL  |   DISTINCT)   求最大值

      MIN(ALL  |   DISTINCT)   求最小值

      AVG(ALL  |   DISTINCT)    求平均值

代码:

 1 USE XK
 2 GO
 3 --查询班级表内容
 4 SELECT * FROM class
 5 GO
 6 --更新成绩信息
 7 UPDATE elective SET course_score=3 WHERE course_id=‘11111116‘    OR course_id=‘11111114‘
 8 GO
 9 --查询班级名和部门编号
10 SELECT class_name ,department_id FROM class
11 GO
12 ----查询数据时top 和5需要分开
13 SELECT TOP 5 *  FROM elective
14 GO
15 --修改课程表本科目选的人数  \
16 UPDATE course SET student_num=(SELECT COUNT(course_id) FROM elective WHERE course.course_id=elective.course_id )
17 GO
18 ----或者
19 DECLARE @id int
20 SET @id=11111111
21 WHILE @id<11111116
22     BEGIN
23         UPDATE course SET student_num=(SELECT COUNT(course_id) FROM elective WHERE course_id=@id ) WHERE course_id=@id
24         SET @id+=1
25     END
26 GO
27 --查出选修表中选修人数最多和最少的三门课程
28
29
30 SELECT  TOP 3    course_name,student_num
31 FROM course   ORDER BY student_num ASC
32
33 SELECT TOP 3   course_name,student_num
34     FROM course  ORDER BY student_num DESC
35 GO
36  --修改课程时间
37 SELECT  teacher_name AS ‘教师姓名‘ ,course_name AS ‘课程名称‘
38 FROM course
39 WHERE course_time=‘周四晚上‘
40 GO
41 --SUNSTRING 从1 截取2   截取12    0,2  截取 01   字符串index没0,相当于只截取1
42 SELECT * FROM student
43 WHERE SUBSTRING( student_name,1,2)=‘王‘ OR SUBSTRING( student_name,1,2)=‘小明‘
44 GO
45 --查询软件1班选修情况
46 SELECT  course_name,elective.student_id,student_name,class_name,course_time FROM student
47 JOIN class ON class.class_id=student.class_id AND class.class_name=‘软件1班‘
48 JOIN elective ON elective.student_id =student.student_id
49 JOIN course ON course.course_id=elective.course_id
50 --查询小猪的选修情况
51 SELECT  course_name,elective.student_id,student_name,class_name,course_time FROM student
52 JOIN class ON class.class_id=student.class_id
53 JOIN elective ON elective.student_id =student.student_id
54 JOIN course ON course.course_id=elective.course_id WHERE student_name=‘小猪‘
55 GO
56 --查询出没有人选择的课程
57 SELECT * FROM course WHERE course_id NOT IN(SELECT DISTINCT course_id FROM elective)

第八章  创建于管理视图

  

  

  

  

原文地址:https://www.cnblogs.com/27floor/p/11259013.html

时间: 2024-08-01 02:20:41

SQLServer2012书学习七八统计数据与视图的相关文章

salesforce lightning零基础学习(七) 列表展示数据时两种自定义编辑页面

上一篇Lightning内容描述的是LDS,通过LDS可以很方便的实例化一个对象的数据信息.当我们通过列表展示数据需要编辑时,我们常使用两种方式去处理编辑页面:Pop Up Window弹出修改详情以及在本页面隐藏详情页面显示编辑页面. 实现这个功能以前主要需要先了解几个标签: lightning:recordForm: 此标签允许用户快速的创建一个form去查看,添加以及修改一条记录.集合了 lightning:recordEditForm 以及 lightning:recordViewFor

salesforce 零基础开发入门学习(八)数据分页简单制作

本篇介绍通过使用VF自带标签和Apex实现简单的数据翻页功能. 代码上来之前首先简单介绍一下本篇用到的主要知识: 1.ApexPages命名空间 此命名空间下的类用于VF的控制. 主要的类包括但不限于以下: ApexPages.StandardController:当为一个标准Controller定义扩展的时候使用此类.StandardController对象为Salesforce提供的预构建VF的控制器对象引用; ApexPages.Action:使用Action类和方法用于VF自定义控制器和

jQuery源码学习笔记五 六 七 八 转

jQuery源码学习笔记五 六 七 八 转 Js代码   <p>在正式深入jQuery的核心功能选择器之前,还有一些方法,基本都是数组方法,用于遴选更具体的需求,如获得某个元素的所有祖选元素啦,等等.接着是其缓存机制data.</p> <pre class="brush:javascript;gutter:false;toolbar:false"> //@author  司徒正美|なさみ|cheng http://www.cnblogs.com/ru

20182304 《数据结构与面向对象程序设计》第七八周学习总结

20182304 <数据结构与面向对象程序设计>第七八周学习总结 教材学习内容总结 时间复杂度分析:时间复杂度越低,程序运行效率越高.时间复杂度又称为算法的阶,符号计为O(),它由增长函数的主项决定.可以通过数学方法求出增长函数从而确定程序的时间复杂度 线性集合:集合中的元素按直线方式组织.如:队列集合.栈集合 栈是一种线性数据结构,采用后进先出(Last in,first out)的方法处理元素,我们学习使用了数组和链表来实现栈 链表:链表是链式结构的一种.在链表中,对象引用变量也可称为指针

第六七八周学习进度总结

第六七八周学习进度总结   学习时间 新增代码行 博客量(篇) 知识总结 第六周 5h 60 0 对原有知识进行复习,并对小程序编写少量代码 第七周 8h 110 0 巩固学习了Java语言,并做网站练习 第八周 7h 90 1 进行团队作业,进行需求分析,构建WBS

pandas学习(常用数学统计方法总结、读取或保存数据、缺省值和异常值处理)

pandas学习(常用数学统计方法总结.读取或保存数据.缺省值和异常值处理) 目录 常用数学统计方法总结 读取或保存数据 缺省值和异常值处理 常用数学统计方法总结 count 计算非NA值的数量 describe 针对Series或DataFrame列计算统计 min/max/sum 计算最小值 最大值 总和 argmin argmax 计算能够获取到最小值和最大值的索引位置(整数) idxmin idxmax 计算能够获取到最小值和最大值的索引值 quantile 计算样本的分位数(0到1)

七周成为数据分析师—Excel函数篇

原文链接 摘要: 本文是<七周成为数据分析师>的第一篇教程,如果想要了解写作初衷,可以先行阅读七周指南.温馨提示:如果您已经熟悉Excel,大可不必再看这篇文章,或只挑选部分. 世界上的数据分析师分为两类,使用Excel的分析师,和其他分析师. 本文是<七周成为数据分析师>的第一篇教程,如果想要了解写作初衷,可以先行阅读七周指南.温馨提示:如果您已经熟悉Excel,大可不必再看这篇文章,或只挑选部分. 世界上的数据分析师分为两类,使用Excel的分析师,和其他分析师.每一个数据新人

3星|《小趋势2》:根据统计数据来分析点评美国社会

小趋势2:复杂世界中的微变量(洞察世界.把握未来的关建变量) 英文书名的本意是“小趋势的平方”,中文书的标题中的2也是平方的意思.不过卖书网站上的书名不支持平方的符号,书名都被写成了“小趋势2”. 从实际内容来看,“小趋势2”比“小趋势的平方”更合适. 主要内容是根据统计数据来分析点评美国社会的一些变化.涉及到婚恋.健康.科技.生活方式.政治.工作等6个方面.以上6个领域各有多篇文章.依据的事实是比较可信的机构给出的统计数据和研究结论,作者的结论因此也比较靠谱. 内容上来看,有一些是离中国比较远

七周成为数据分析师01_数据分析思维

在学习数据分析知识的过程中发现了一个七周成为数据分析师课程班,讲解的比较基础和全面,相对于常见的一些数据分析课程,突出的优点在于它把重心放在了数据分析的思维和业务能力,更加符合实际需求.毕竟对于数据分析师来说,最难的地方在于思维业务能力,否则只会使用各种各样炫酷的软件代码而不知所措. 这里记录一下七周成为数据分析师课程的学习笔记,教学视频是在万能的b站上发现的.可能涉及到版权原因这里就不贴上链接. 对应的文字教学资料可以查看:互联网数据分析能力的养成,需一份七周的提纲--秦路 接下来是第一周的课