zoukankan      html  css  js  c++  java
  • 第三次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
  • 相关阅读:
    【题解】直线交点数
    【题解】[TJOI2010] 阅读理解
    清北学堂 2020 国庆J2考前综合强化 Day7
    清北学堂 2020 国庆J2考前综合强化 Day6
    清北学堂 2020 国庆J2考前综合强化 Day5
    清北学堂 2020 国庆J2考前综合强化 Day4
    清北学堂 2020 国庆J2考前综合强化 Day3
    test
    清北学堂 2020 国庆J2考前综合强化 Day2
    清北学堂 2020 国庆J2考前综合强化 Day1
  • 原文地址:https://www.cnblogs.com/zhangyongjian/p/3628018.html
Copyright © 2011-2022 走看看