MySQL高级查询

MySQL高级查询

ID:35612083

大小:959.00 KB

页数:50页

时间:2019-04-01

MySQL高级查询_第1页
MySQL高级查询_第2页
MySQL高级查询_第3页
MySQL高级查询_第4页
MySQL高级查询_第5页
资源描述:

《MySQL高级查询》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第6章MySQL高级查询MySQL基础教师自我介绍教师姓名:(请进行自我介绍)课程介绍本课程主要介绍了MySQL数据库的安装,管理,数据类型,SQL语句语法和使用,高级查询等方面的知识,以应用为目标,具有较强的实践性。学习对象希望了解MySQL数据库基本概念,常见使用方法的学生、专业人士等学习目标在完成本章的学习后,您将能够:熟悉MySQL的聚合函数的使用掌握分组查询掌握联合查询和内、外连接查询熟悉子查询用法目录大纲聚合函数分组查询联合查询连接查询子查询数据库的一个最大的特点就是将各种分散的数据按照一定规律、条件进行分类组合,最后得出统计结果。常用的几个聚合函数如下所示:1聚合函

2、数数据库的一个最大的特点就是将各种分散的数据按照一定规律、条件进行分类组合,最后得出统计结果。常用的几个聚合函数如下所示:聚合函数对一组值执行计算并返回单一的值。除COUNT函数之外,聚合函数忽略空值(NULL)。聚合函数经常与SELECT语句的GROUPBY子句一同使用。所有聚合函数都具有确定性。任何时候用一组给定的输入值调用它们时,都返回相同的值。1聚合函数聚合函数仅在下列项中允许作为表达式使用:SELECT语句的选择列表(子查询或外部查询)HAVING子句首先在student表中加个score字段,并插入一些数据,如下所示:1聚合函数SUMSUM返回表达式中所有数值的总和,

3、SUM只能用于数字类型的列,不能够汇总字符、日期等其他类型。下面的示例计算学生的总分:1聚合函数注意这种查询只能返回一个数值,因此,不能够直接与可能返回多行的列一起使用参与查询。如下列操作将报告错误,但是,在一个查询中可以使用多个聚合函数。1聚合函数AVGAVG函数返回表达式中所有数值的平均值,AVG函数也只能用于数字类型的列,例如求学生的平均成绩。1聚合函数MAX和MINMAX和MIN函数返回表达式中的最大值和最小值,它们可以用于数字类型、字符型、日期/时间类型的列。1聚合函数COUNTCOUNT返回提供的表达式中非空值的计数,COUNT可以用于数字和字符类型的列。另外,也可以

4、使用星号(*)作为COUNT的表达式,使用星号可以不必指定特定的列而计算所有的行数.1聚合函数COUNT函数还可以嵌套另一个函数DISTINCT,表示求出字段值非空并且惟一的记录个数。AVG函数也可以嵌套函数DISTINCT,表示求出非空且非重复字段的平均值。1聚合函数分组查询分组函数对每一组数据进行计算,得到对应的计算数据。在前面的例子中,返回结果都只有一行,因为在使用了分组函数的查询语句中并没有对数据进行分组。这意味着整个表中的所有数据被作为一组进行了统计计算,所以最终得到了一行结果。除了对整个表的数据进行统计计算外,更多的需求是根据用户的实际需要对表中的数据进行分组,然后对

5、每个分组进行组函数计算。使用Groupby子句可以对表中的数据进行分组。SELECTCOLUMN,GROUP_FUNCTIONFROMTABLE[WHERECONDITION][GROUPBYGROUP_BY_EXPRESSION][ORDERBYCOLUMN];2分组查询规则1:出现在SELECT后面的字段,如果出现的位置不在分组函数中,那么必须要出现在GROUPBY子句中。2分组查询规则2:出现在GROUPBY子句中的字段并不一定要出现在SELECT后面。2分组查询规则3:WHERE子句中不能使用聚合函数。使用Having子句对分组结果进行限制SELECTCOLUMN,GRO

6、UP_FUNCTIONFROMTABLE[WHERECONDITION][GROUPBYGROUP_BY_EXPRESSION][HAVINGGROUP_CONDITON][ORDERBYCOLUMN];这是一个完整SELECT查询语句,在整个语句的执行过程中,最先执行的是WHERE子句,在对表数据进行过滤后,符合条件的数据通过GROUPBY进行分组,分组数据通过HAVING子句进行组函数过滤,最终的结果通过ORDERBY子句进行排序,排序的结果被返回给用户。2分组查询对分数高于65分的学生进行分组,统计分数高于70分的人数和分数。2分组查询UNION运算符可以将两个或两个以上上

7、SELECT语句的查询结果集合合并成一个结果集合显示,即执行联合查询。UNION的语法格式为:select_statementUNION[ALL]selectstatement[UNION[ALL]selectstatement][…n]其中selectstatement为待联合的SELECT查询语句。ALL选项表示将所有行合并到结果集合中。不指定该项时,被联合查询结果集合中的重复行将只保留一行。3联合查询联合查询时,查询结果的列标题为第一个查询语句的列标题。因此,要定义列标题必

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。