《SQL Server 2005数据库案例教程》-严波-电子教案 第5章复杂查询

上传人:E**** 文档编号:89435095 上传时间:2019-05-25 格式:PPT 页数:19 大小:164KB
返回 下载 相关 举报
《SQL Server 2005数据库案例教程》-严波-电子教案 第5章复杂查询_第1页
第1页 / 共19页
《SQL Server 2005数据库案例教程》-严波-电子教案 第5章复杂查询_第2页
第2页 / 共19页
《SQL Server 2005数据库案例教程》-严波-电子教案 第5章复杂查询_第3页
第3页 / 共19页
《SQL Server 2005数据库案例教程》-严波-电子教案 第5章复杂查询_第4页
第4页 / 共19页
《SQL Server 2005数据库案例教程》-严波-电子教案 第5章复杂查询_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《《SQL Server 2005数据库案例教程》-严波-电子教案 第5章复杂查询》由会员分享,可在线阅读,更多相关《《SQL Server 2005数据库案例教程》-严波-电子教案 第5章复杂查询(19页珍藏版)》请在金锄头文库上搜索。

1、,第五章 复杂查询,本章目标,使用LIKE进行模糊查询 掌握聚合函数的使用 使用GROUP By进行分组查询 掌握多表关联查询,模糊查询-LIKE,示例:查询姓名叫”王*军“的学生信息 通配符: %:包含零个或多个字符的任意字符串 _下划线 :任何单个字符 :指定范围a-f或集合acdef中的任意单个字符:不属于指定范围 (a-f) 或集合 (abcdef) 的任何单个字符。 提问:在author表中查找以 de 开始并且其后的字母不 为l 的所有作者的姓氏,SELECT * FROM STUDENT WHERE StuName LIKE 王_军,模糊查询-BETWEEN,示例:查询出生日期在

2、1980-1982年的学生信息 提问:查询出生日期不在1980-1982年的学生信息,等价于,SELECT * FROM STUDENT WHERE StuDate BETWEEN 1980 AND 1982,SELECT * FROM STUDENT WHERE StuDate=1980-01-01 AND StuDATE=1982-01-01,聚合函数,提问:想知道班级学员的总分,平均分等统计数据该怎么实现?,聚合函数示例,示例1:求全班的平均分 提问:求全班的最高分和最低分 示例2:统计全班的学生人数,SELECT AVG(Score) AS 平均成绩 FROM StuScore,SEL

3、ECT COUNT(*) 总人数 FROM Student,提问:统计参加考试科目001的人数,分组查询,提问:统计全班每个学生的平均成绩该如何实现?,GROUP,SELECT StuNo 学号, AVG(Score) 平均分 FROM StuScore GROUP BY StuNo,提问:如何统计全班各门课程的平均成绩呢?,HAVING过滤,提问:查询全班平均成绩大于75分的学生信息,SELECT StuNo 学号, AVG(Score) 平均分 FROM StuScore GROUP BY StuNo HAVING AVG(Score)75,如果将HAVING改为WHERE会怎么样?,关联

4、查询,提问:用户需要查看学生的详细信息以及成绩信息?所需要的数据分别在两个表中存储,如何同时访问这两个表的数据?,多表关联分类,内联接(INNER JOIN) 外联接 左外联接(LEFT JOIN) 右外联接(RIGHT JOIN) 完整外联接(FULL JOIN) 自联接(CROSS JOIN),内联接,一.传统语法 SELECT 列名, FROM 表名, WHERE 条件 二.SQL联接 SELECT 列名 FROM 表名 INNER JOIN 表名JOIN 表名 ON 连接条件 WHERE 条件,内联接,内联接-多表关联,示例:查询参加了考试的学生信息,成绩信息和具体科目信息,左外联接,右外联接,完全外联接,自联接,提问:查询员工信息以及经理的信息,总结,模糊查询用LIKE,BETWEEN AND关键字 对数据进行统计使用SQL内置的聚合函数 对数据进行分组用GROUP BY 查询的数据来自于多个表用关联查询 内联接筛选多表中完全匹配的行 左外联接以左表为主筛选数据 右外联接以右表为主筛选数据 内联接将表自身通过别名关联,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号