数据查询及统计ppt课件_第1页
数据查询及统计ppt课件_第2页
数据查询及统计ppt课件_第3页
数据查询及统计ppt课件_第4页
数据查询及统计ppt课件_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数据查询及统计数据查询及统计 本章主要内容本章主要内容 单表查询 多表衔接查询 嵌套查询 聚集函数 分组数据库中运用的表数据库中运用的表单表查询单表查询单表查询单表查询单表无条件查询单表无条件查询 命令格式:命令格式: SELECT ALL|DISTINCT TOP NPERCENT AS , AS ,. FROM 表名表名|视图名视图名 单表查询单表查询例题一例题一 查询全院学生的信息查询全院学生的信息.SELECT *FROM STUDENT单表查询单表查询F单表有条件查询单表有条件查询F命令格式:命令格式:FSELECT ALL|DISTINCT AS , AS,.FFROM FWHER

2、E 单表查询单表查询例题二例题二 查询王坤的个人信息。查询王坤的个人信息。SELECT SELECT * *FROM STUDENTFROM STUDENTWHERE SNAME=WHERE SNAME=王坤王坤单表查询单表查询F模糊查询模糊查询FLIKE(模糊查询模糊查询)F用法:用法: NOT LIKE ESCAPE F其含义是查找指定的属性列值与其含义是查找指定的属性列值与相匹配的记录。相匹配的记录。可以是一个完好可以是一个完好的字符串,也可以含有通配符的字符串,也可以含有通配符%和和_。其中:。其中:F%(百分号百分号):代表恣意长度:代表恣意长度(长度可以为长度可以为0)的字符串;的

3、字符串;F_(下划线下划线):代表恣意单个字符。:代表恣意单个字符。FESCAPE 的作用是当用户要查询的字符串本身应含有的作用是当用户要查询的字符串本身应含有%或或_时,可以运用时,可以运用该选项对通配符进展本义。该选项对通配符进展本义。F假设假设LIKE后面的匹配串中不含通配符,那么可以用后面的匹配串中不含通配符,那么可以用“=(等于等于)运算符取代运算符取代LIKE谓词,谓词,用用“!=或或“(不等于不等于)运算符取代运算符取代NOT LIKE谓词。谓词。单表查询单表查询例题三例题三 查询姓王的学生的信息。查询姓王的学生的信息。SELECT SELECT * *FROM STUDENTF

4、ROM STUDENTWHERE SNAME LIKE WHERE SNAME LIKE 王王%多表衔接查询多表衔接查询多表衔接查询多表衔接查询语句格式:语句格式:SELECT ALL|DISTINCT 别名别名.AS ,别名别名.AS,.FROM 别名别名1, 别名别名2, WHERE AND 多表衔接查询多表衔接查询实现根据系别查询学生的信息:实现根据系别查询学生的信息:例题一例题一 查询软件系学生的信息。查询软件系学生的信息。SELECT SELECT * *FROM STUDENT A,CLASS B,DEPARTMENT CFROM STUDENT A,CLASS B,DEPARTM

5、ENT CWHERE A.CLASSNO=B.CLASSNO AND WHERE A.CLASSNO=B.CLASSNO AND B.DEPTNO=C.DEPTNO AND DEPTNAME=B.DEPTNO=C.DEPTNO AND DEPTNAME=软件工程系软件工程系 多表衔接查询多表衔接查询例题二例题二 查询软件系查询软件系20072007级学生的信息。级学生的信息。SELECT SELECT * *FROM STUDENT A,CLASS B,DEPARTMENT CFROM STUDENT A,CLASS B,DEPARTMENT CWHERE A.CLASSNO=B.CLASSN

6、O AND WHERE A.CLASSNO=B.CLASSNO AND B.DEPTNO=C.DEPTNOB.DEPTNO=C.DEPTNO AND DEPTNAME= AND DEPTNAME=软件工程系软件工程系 AND AND INYEAR=2007INYEAR=2007多表衔接查询多表衔接查询例题三例题三 查询软件系查询软件系20072007级级2 2班学生的信息。班学生的信息。SELECT SELECT * *FROM STUDENT A,CLASS B,DEPARTMENT CFROM STUDENT A,CLASS B,DEPARTMENT CWHERE A.CLASSNO=B.

7、CLASSNO AND WHERE A.CLASSNO=B.CLASSNO AND B.DEPTNO=C.DEPTNOB.DEPTNO=C.DEPTNO AND DEPTNAME= AND DEPTNAME=软件工程系软件工程系 AND AND INYEAR=2007INYEAR=2007 AND CLASSNAME=07 AND CLASSNAME=07软件软件2 2班班 嵌套查询嵌套查询嵌套查询嵌套查询在在SQL言语中,一个言语中,一个SELECT-FROM-WHERE语句称为一个查询块。将一个语句称为一个查询块。将一个查询块嵌套在另一个查询块的查询块嵌套在另一个查询块的WHERE子句或子

8、句或HAVING子句的条件中称为嵌套子句的条件中称为嵌套查询或子查询。查询或子查询。下面给出经过嵌套查询实现上面三个例下面给出经过嵌套查询实现上面三个例题的题的SQL语句。语句。嵌套查询嵌套查询例题一例题一* * SELECT SELECT * *FROM STUDENT FROM STUDENT WHERE CLASSNO=(SELECT CLASSNO FROM CLASSWHERE CLASSNO=(SELECT CLASSNO FROM CLASS WHERE DEPTNO=(SELECT DEPTNO WHERE DEPTNO=(SELECT DEPTNO FROM DEPARTME

9、NT FROM DEPARTMENT WHERE DEPTNAME= WHERE DEPTNAME=软件工程系软件工程系) ) ) )嵌套查询嵌套查询例题二例题二* *SELECT SELECT * *FROM STUDENT FROM STUDENT WHERE CLASSNO=(SELECT CLASSNO FROM CLASSWHERE CLASSNO=(SELECT CLASSNO FROM CLASS WHERE INYEAR= WHERE INYEAR=20072007 AND AND DEPTNO=(SELECT DEPTNO DEPTNO=(SELECT DEPTNO FROM

10、 DEPARTMENT FROM DEPARTMENT WHERE DEPTNAME= WHERE DEPTNAME=软件工程系软件工程系) ) ) )嵌套查询嵌套查询例题三例题三 * *SELECT SELECT * *FROM STUDENT FROM STUDENT WHERE CLASSNO=(SELECT CLASSNO FROM CLASSWHERE CLASSNO=(SELECT CLASSNO FROM CLASS WHERE CLASSNAME= WHERE CLASSNAME=0707软件软件2 2班班 AND AND DEPTNO=(SELECT DEPTNO DEPTN

11、O=(SELECT DEPTNO FROM DEPARTMENT FROM DEPARTMENT WHERE DEPTNAME= WHERE DEPTNAME=软件工程系软件工程系) ) ) )聚集函数聚集函数聚集函数聚集函数SQL的聚集函数是综合信息的统计函数,也的聚集函数是综合信息的统计函数,也称为聚合函数或集函数,包括计数、求最称为聚合函数或集函数,包括计数、求最大值、求最小值、求平均值和求和等。聚大值、求最小值、求平均值和求和等。聚集函数可作为列标识符出如今集函数可作为列标识符出如今SELECT子子句的目的列或句的目的列或HAVING子句的条件中。子句的条件中。聚集函数聚集函数聚集函数

12、聚集函数具具 体体 用用 法法具具 体体 含含 义义COUNT COUNT COUNT(DISTINCT|ALLCOUNT(DISTINCT|ALL* *) ) 统计元组个数统计元组个数 COUNT COUNT COUNT(DISTINCT|ALL COUNT(DISTINCT|ALL ) ) 统计一列中值的个数统计一列中值的个数 SUM SUM SUM(DISTINCT|ALL SUM(DISTINCT|ALL ) ) 计算一列值的总和计算一列值的总和( (此列必须为此列必须为数值型数值型) ) AVG AVG AVG(DISTINCT|ALL AVG(DISTINCT|ALL ) ) 计算

13、一列值的平均值计算一列值的平均值( (此列必须此列必须为数值型为数值型) ) MAX MAX(DISTINCT|ALL ) 求一列值中的最大值求一列值中的最大值 MIN MIN(DISTINCT|ALL ) 求一列值中的最小值求一列值中的最小值 聚集函数聚集函数例题一例题一 统计全院学生人数统计全院学生人数. .SELECT COUNT(SELECT COUNT(* *) AS ) AS 全院人数全院人数FROM STUDENTFROM STUDENT分组与排序分组与排序对查询结果集进展分组对查询结果集进展分组(1) 命令格式:命令格式:GROUP BYHAVING。(2) 功能阐明:把查询结

14、果集中的各行按功能阐明:把查询结果集中的各行按进展分组,在这些列上,对应值都进展分组,在这些列上,对应值都一样的记录分在同一组。假设无一样的记录分在同一组。假设无HAVING子子句,那么各组分别输出;假设有句,那么各组分别输出;假设有HAVING子子句,只需符合句,只需符合HAVING条件的组才输出。此条件的组才输出。此时,时,SELECT子句中,只能包含两种目的子句中,只能包含两种目的列表达式:要么是聚集函数,要么是出如列表达式:要么是聚集函数,要么是出如今今GROUP BY子句中的分组字段。子句中的分组字段。当当SELECT的目的列表达式清单中有聚集函的目的列表达式清单中有聚集函数时,才运

15、用数时,才运用GROUP BY子句。子句。分组与排序分组与排序例题一例题一 查询各系的总人数。查询各系的总人数。SELECT DEPTNAME 系名系名, COUNT(*) AS 总人数总人数FROM STUDENT A,CLASS B,DEPARTMENT CWHERE A.CLASSNO=B.CLASSNO AND B.DEPTNO=C.DEPTNOGROUP BY DEPTNAME分组与排序分组与排序例题二例题二 统计各系各级的人数统计各系各级的人数. .SELECT DEPTNAME SELECT DEPTNAME 系名系名, INYEAR , INYEAR 年年级级,COUNT(,COUNT(* *) ) AS AS 总人数总人数FROM STUDENT A,CLASS B,DEPARTMENT CFROM STUDENT A,CLASS B,DEPARTMENT CWHERE A.CLASSNO=B.CLASSNO AND WHERE A.CLASSNO=B.CLASSNO AND B.DEPTNO=C.DEPTNO B.DEPTNO=C.DEPTNOGROUP BY DEPTNAME,INYEARGROUP BY DEPTNAME,INYEAR分组与排序分组与排序例题三例题三 统计各班的人数。统计各班的人数

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论