• 第三次SQLServer试验解答


     1 --讲解函数: SUM、AVG、COUNT、MAX、MIN 、GETDATE()等
     2 --查询BookInfo表中购进价格最高的图书的信息
     3 --查询BookInfo表中书的平均购进价格
     4 --查询BookInfo表中图书的总数
     5 --讲解Group By、Order By、Top的用法
     6 --分类显示图书信息
     7 --显示1999-12-23 到2005-12-23的罚款
     8 --把BookInfo表中的信息按照购进价格升序排序
     9 --显示BookInfo表中进购价格最高的10个图书的信息
    10 --显示BookInfo表中每种图书的平均价格和总金额
    11 --显示BookInfo表中平均价格低于20元的图书种类和平均价格
    12 /*1、SQL中的常用函数
    13    转换函数、日期函数、字符串函数…
    14 2、简单查询(可用 ‘*’,可取别名)
    15 3、条件查询(and 、or、not…)
    16 4、模糊查询(like 和 ‘%’、‘_’结合使
    17        用)
    18 1、聚合函数的使用
    19 2、使用Group by进行分组统计
    20 3、使用 Order by 排序
    21 4、使用 TOP 选择限定范围内的行
    22 Sum(col_name)返回一列值的总和
    23 Avg(col_name)返回一列值得平均值
    24 count()检查记录数
    25 Max(col_name)返回列表中的最大值
    26 Min(col_name)返回列表中的最小值
    27 例:求学号是‘001’的学生的总成绩
    28 Select Sum(fscore) From scoreWhere fcode = ‘001’ 
    29 例:求本次VB考试的平均成绩
    30 Select Avg(fscore) as ‘VB平均分’
    31  From score Where fsubject=‘VB’
    32 例:求本次C++考试的最高分
    33 Select Max(fscore) From scoreWhere fsubject = ‘C++’
    34 例:求有多少学生参加了JAVA考试
    35 Select count(fsubject) from score Where fsubject='JAVA' 
    36 Select Count(*)from score 返回表的记录数
    37 例:求001号学生共参加了几门考试
    38 Select count(fsubject) from score Where fcode=‘001’ 
    39 例:求JAVA考试的最低分是多少
    40 Select min(fscore) from score Where fsubject='JAVA' 
    41 group By
    42 1. 可以将查询结果表的各行按一列或多列进行分组。
    43 2、分组的目的是为了细化聚合函数的作用对象。
    44 例:求成绩表中每个学生的平均成绩和总成绩
    45 Select  fcode, Avg(fscore) AS 平均值, 
    46 Sum(fscore) AS 总成绩
    47 From Score 
    48 Where fcode<>‘001’Group by fcode
    49 Where子句必须位于Group by之前 
    50 例:返回成绩表中平均成绩大于60的每个学生的学号和平均成绩
    51 Select fcode,Avg(fscore) AS 平均值  
    52 From  score 
    53 Group by  fcode     
    54 Having  Avg(fscore) > 60
    55 HAVING子句必须位于Group by之后 
    56 例:求成绩表中求学号为‘001’的学生的平均成绩和总成绩
    57 Select  fcode, Avg(fscore) AS 平均值, 
    58 Sum(fscore) AS 总成绩
    59 From Score 
    60 Group by fcode
    61 Having fcode=‘001’
    62 WHERE作用于基本表或视图,从中选择满足条件的记录
    63 HAVING作用于结果集,从中选择满足条件的记录
    64 默认情况下,指定的字段按升序排列。
    65 如要更改顺序,我们可以使用“ASC”(升序)和“DESC”(降序)参数来指定排列顺序。
    66 例如:对学生C++语言成绩排榜
    67 Select *  From  score
    68 Where  fsubject = ‘C++’
    69 ORDER BY fscore DESC
    70 Distinct可与聚合函数配合使用,以消除重复数据
    71 Select distinct fclass as 班级 from Student
    72 返回学生表中的前三行的学号、姓名、班级
    73 Select Top 3 fcode,fname,fclass 
    74 From student
    75 返回符合条件的所有学生信息的百分之50
    76 Select Top 50 Percent * 
    77 From student
    78 1、聚合函数的使用
    79    (SUM、AVG、MAX、MIN、COUNT)
    80 2、使用Group by进行分组统计
    81   (Where 和 Having 的使用规则)
    82 3、使用 Order by 排序(ASC、DESC)
    83 4、使用 TOP 选择限定范围内的行 
    84 
    85 */
     1 --//第三次实验
     2 
     3 --查询BookInfo表中购进价格最高的图书的信息
     4 Select top 1 * from BookInfo 
     5 order by BookPrice desc
     6 
     7 --查询BookInfo表中书的平均购进价格
     8 Select Avg(BookPrice) from BookInfo 
     9 --as '平均购进价格'
    10 --查询BookInfo表中图书的总数
    11 Select count(*) as '图书的总数'
    12 --把BookInfo表中的信息按照购进价格升序排序
    13 Select * from BookInfo order by BookPrice asc
    14 
    15 --显示BookInfo表中进购价格最高的10个图书的信息
    16 Select top 10 * from BookInfo 
    17 order by BookPrice desc
    18 --显示BookInfo表中每种图书的平均价格和总金额
    19 Select BookKind,Avg(BookPrice),Sum(BookPrice)
    20 from BookInfo
    21 group by BookKind 
    22 
    23 --显示BookInfo表中平均价格低于20元的图书种类和平均价格
    24 Select BookKind,Avg(BookPrice)
    25 from BookInfo
    26 group by BookKind 
    27 having Avg(BookPrice)<20
  • 相关阅读:
    [ Algorithm ] N次方算法 N Square 动态规划解决
    [ Algorithm ] LCS 算法 动态规划解决
    sql server全文索引使用中的小坑
    关于join时显示no join predicate的那点事
    使用scvmm 2012的动态优化管理群集资源
    附加数据库后无法创建发布,error 2812 解决
    浅谈Virtual Machine Manager(SCVMM 2012) cluster 过载状态检测算法
    windows 2012 r2下安装sharepoint 2013错误解决
    sql server 2012 数据引擎任务调度算法解析(下)
    sql server 2012 数据引擎任务调度算法解析(上)
  • 原文地址:https://www.cnblogs.com/zhangyongjian/p/3628018.html
Copyright © 2020-2023  润新知