第08章+数据查询课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《第08章+数据查询课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 08 数据 查询 课件
- 资源描述:
-
1、第八章第八章 数据查询数据查询计算机基础教学部计算机基础教学部本章内容本章内容8.1 8.1 查询分析器简介查询分析器简介8.2 SELECT8.2 SELECT语句简介语句简介8.3 SELECT8.3 SELECT基本查询基本查询8.4 SELECT8.4 SELECT嵌套查询嵌套查询8.5 8.5 连接查询连接查询8.6 8.6 在在INSERTINSERT、UPDATEUPDATE和和DELETEDELETE语句中使用子查询语句中使用子查询8.1 8.1 查询分析器简介查询分析器简介J通过开始菜单启动通过开始菜单启动J通过企业管理器启动通过企业管理器启动l启动查询分析器启动查询分析器8
2、.1 8.1 查询分析器简介查询分析器简介l查询分析器的工作界面查询分析器的工作界面8.1 8.1 查询分析器简介查询分析器简介l查询分析器的常用操作查询分析器的常用操作l执行执行SQL语句语句在【输入在【输入SQL区域】中输入区域】中输入SQL语句或打开一个语句或打开一个SQL文件,单击工具栏执行按钮文件,单击工具栏执行按钮 或按或按F5。l查看和修改表中的数据查看和修改表中的数据8.1 8.1 查询分析器简介查询分析器简介l控制查询结果的显示方式控制查询结果的显示方式菜单菜单工具栏工具栏8.1 8.1 查询分析器简介查询分析器简介l新建查询窗口新建查询窗口J 单击工具栏【新建查询】按钮单击
3、工具栏【新建查询】按钮 。J 选择菜单【文件】选择菜单【文件】|【新建【新建】l保存在查询窗口中输入的保存在查询窗口中输入的SQL语句语句将光标置于输入将光标置于输入SQL区域区域J 单击工具栏保存按钮单击工具栏保存按钮 J 选择菜单【文件】选择菜单【文件】|【保存【保存】l保存查询结果保存查询结果将光标置于查询结果显示区域将光标置于查询结果显示区域J 单击工具栏保存按钮单击工具栏保存按钮 J 选择菜单【文件】选择菜单【文件】|【保存【保存】8.1 8.1 查询分析器简介查询分析器简介l对象搜索对象搜索单击工具栏对象搜索按钮单击工具栏对象搜索按钮 或选择菜单【工具】或选择菜单【工具】|【对象搜
4、索】【对象搜索】|【新建】。【新建】。8.2 SELECT8.2 SELECT语句简介语句简介l数据查询是数据库最重要也是最主要数据查询是数据库最重要也是最主要的功能,在数据库中,数据查询是通的功能,在数据库中,数据查询是通过过SELECT语句来完成的。语句来完成的。lSELECT查询语句只有一条语句,却查询语句只有一条语句,却能实现各种需求的查询。能实现各种需求的查询。l功能非常强大,依赖于其子句。功能非常强大,依赖于其子句。lSELECT语句的框架:语句的框架:8.2 SELECT8.2 SELECT语句简介语句简介 ALL|DISTINCT;ALL|DISTINCT;TOP n PERC
5、ENT;TOP n PERCENT;.ASAS,ASAS;,;INNER/LEFT/RIGHT/FULL JOIN INNER/LEFT/RIGHT/FULL JOIN;ON ON ;,2 ;ASC/DESC,ASC/DESC,列名列名2ASC/DESC2ASC/DESC 集合函数集合函数(),1),集合函数集合函数(),2),2,SELECT和和FROM是必备是必备的,其他子句根据实际情况设定。的,其他子句根据实际情况设定。8.3 SELECT8.3 SELECT基本查询基本查询l无条件简单查询无条件简单查询 ALL|DISTINCT TOP n PERCENT table_namel查询结
6、果:从查询结果:从table_name中返回数据。中返回数据。l各选项含义:各选项含义:lALL:表示输出所有记录,包括重复记录。:表示输出所有记录,包括重复记录。lDISTINCT:输出无重复结果的记录。:输出无重复结果的记录。lTOP n:返回查询结果的前:返回查询结果的前n行数据。行数据。lTOP n PERCENT:返回查询结果前:返回查询结果前n%行数据。行数据。lselect_list:所要查询的选项(列)的集合,多个选项之间:所要查询的选项(列)的集合,多个选项之间用逗号分开。用逗号分开。ltable_name:要查询的表名。:要查询的表名。8.3 SELECT8.3 SELEC
7、T基本查询基本查询查询课程表中的所有数据。查询课程表中的所有数据。select 课程号课程号,课程名课程名,学时学时 from 课程表课程表select*from 课程表课程表查询课程表中前两行数据。查询课程表中前两行数据。select top 2 课程号课程号,课程名课程名,学时学时 from 课程表课程表8.3 SELECT8.3 SELECT基本查询基本查询:查询课程表中前一半数据。:查询课程表中前一半数据。select top 50 percent*from 课程表课程表查询课程表中学时列,不显示重复记录。查询课程表中学时列,不显示重复记录。select distinct 学时学时 f
8、rom 课程表课程表Select Select 学时学时 from from 课程表课程表8.3 SELECT8.3 SELECT基本查询基本查询下列下列SELECT语句含义语句含义p select*from 学生学生p select top 3 学号学号,姓名姓名,性别性别 from 学生学生p select top 20 percent 学号学号,姓名姓名,性别性别from 学生学生p select distinct 性别性别 from 学生学生8.3 SELECT8.3 SELECT基本查询基本查询使用别名使用别名在输出结果中,如果不希望使用字段名作为各列的标题,在输出结果中,如果不希望
9、使用字段名作为各列的标题,可以根据需求设置列标题。可以根据需求设置列标题。column_name1 column_title1,查询课程表所有数据,字段学时显示为课时。查询课程表所有数据,字段学时显示为课时。select 课程号课程号,课程名课程名,学时学时 as 课时课时 from 课程表课程表AS可以省略。可以省略。select 课程号课程号,课程名课程名,学时学时 课时课时 from 课程表课程表8.3 SELECT8.3 SELECT基本查询基本查询使用集合函数进行统计使用集合函数进行统计可以通过可以通过对表数据进行统计计算,并返对表数据进行统计计算,并返回计算结果。比如查询表中记录的
10、个数、查询回计算结果。比如查询表中记录的个数、查询学生的平均成绩等。学生的平均成绩等。:求一列数据的平均值。:求一列数据的平均值。:求一列数据的和。:求一列数据的和。:统计查询的行数。:统计查询的行数。:求列中的最小值。:求列中的最小值。:求列中的最大值。:求列中的最大值。8.3 SELECT8.3 SELECT基本查询基本查询查询学生表中的记录数。查询学生表中的记录数。select count(*)from 学生表学生表查询选课表中最高分和最低分。查询选课表中最高分和最低分。select max(成绩成绩),min(成绩成绩)from 选课表选课表查询选课表中的平均成绩。查询选课表中的平均成
11、绩。select avg(成绩成绩)from 选课表选课表在使用集合函数时,常需重新命令列标题。在使用集合函数时,常需重新命令列标题。改为:改为:select max(成绩成绩)最高分最高分,min(成绩成绩)最低分最低分 from 选课表选课表8.3 SELECT8.3 SELECT基本查询基本查询l带条件查询带条件查询经常会查询符合某条件的记录,比如查询学生表经常会查询符合某条件的记录,比如查询学生表中女同学的信息,查询成绩在中女同学的信息,查询成绩在90分以上的记录分以上的记录等。通过等。通过WHERE子句来指定查询条件。子句来指定查询条件。格式:格式:通过通过和和构成的逻辑构成的逻辑判
12、断的式子。判断的式子。:=、!=(或(或)、)、=、=90;not(成绩成绩=90)课程号课程号=c01 and 成绩成绩=808.3 SELECT8.3 SELECT基本查询基本查询查询学生表中女同学的个人信息。查询学生表中女同学的个人信息。select 学号学号,姓名姓名,性别性别 from 学生表学生表 where 性别性别=女女查询课程表中查询课程表中c01和和c03这两门课程情况。这两门课程情况。select*from 课程表课程表 where 课程号课程号=c01 课程号课程号=c03%书写表达式时需要根据数据类型来加定界符。书写表达式时需要根据数据类型来加定界符。%表达多个条件时
13、使用表达多个条件时使用AND和和OR,注意其逻辑含义。,注意其逻辑含义。8.3 SELECT8.3 SELECT基本查询基本查询l查询结果处理查询结果处理l排序输出排序输出ORDER BY语法格式:语法格式:ORDER BY order_by_expression1ASC|DESC,order_by_expression2ASC|DESC,升序(默认);升序(默认);降序降序order_by_expression1通常为字段,字段与字通常为字段,字段与字段之间用逗号分隔。段之间用逗号分隔。例如:例如:order by 性别(以性别来排序)性别(以性别来排序)order by 性别性别,姓名(先
14、以性别升序来排,姓名(先以性别升序来排,性别相同的再以姓名升序来排)性别相同的再以姓名升序来排)8.3 SELECT8.3 SELECT基本查询基本查询将选课表的成绩按从将选课表的成绩按从低到高的顺序显示。低到高的顺序显示。select*from 选课表选课表 order by 成绩成绩 将选课表的成绩按从将选课表的成绩按从高到低的顺序显示。高到低的顺序显示。select*from 选课表选课表 order by 成绩成绩 字母排序字母排序AZAZ为升序;为升序;ZAZA为降序。汉字排序为降序。汉字排序取汉字的汉语拼音,再以字母序来排。取汉字的汉语拼音,再以字母序来排。课堂练习课堂练习在在“学
15、生表学生表”中实现以下查询:中实现以下查询:所有学生的学号、姓名、性别信息,并按学号排序。所有学生的学号、姓名、性别信息,并按学号排序。所有女生的信息。所有女生的信息。所有女生的人数。所有女生的人数。在在“选课表选课表”中实现以下查询:中实现以下查询:查找学号为查找学号为s2008003的课程号、成绩。的课程号、成绩。查找成绩在查找成绩在80分以上的学生学号、成绩。分以上的学生学号、成绩。查找课程号为查找课程号为c01的最高分、最低分、平均分。的最高分、最低分、平均分。计算成绩在计算成绩在90分以上的记录数。分以上的记录数。表的基本操作表的基本操作在课程表中插入一条记录:课程号在课程表中插入一
16、条记录:课程号c06,课程名为课程名为photoshop,学学时为时为40修改课程号为修改课程号为c06记录的学时数为记录的学时数为60删除课程号为删除课程号为c06记录记录8.3 SELECT8.3 SELECT基本查询基本查询重定向输入重定向输入INTO把查询结果存放到一个新表中。把查询结果存放到一个新表中。语法:语法:new_table查询出学生表中女同学的个人信息,并将结查询出学生表中女同学的个人信息,并将结果存入女同学表中。果存入女同学表中。select*from 学生表学生表 where 性别性别=女女Select*from 女同学表女同学表8.3 SELECT8.3 SELECT
17、基本查询基本查询输出合并输出合并UNION把来自不同查询的数据组合起来,形成一个具把来自不同查询的数据组合起来,形成一个具有综合信息的查询结果。有综合信息的查询结果。语法:语法:ALL结果全部合并,若没有结果全部合并,若没有ALL,则重复,则重复的记录将被自动去掉。的记录将被自动去掉。8.3 SELECT8.3 SELECT基本查询基本查询将男同学表和女同学表的记录合并。将男同学表和女同学表的记录合并。select 学号学号,姓名姓名,性别性别 from 女同学表女同学表select 学号学号,姓名姓名,性别性别 from 男同学表男同学表%两个两个SELECT语句必须输出同样的列数。语句必须
18、输出同样的列数。%两个表各相应列的数据类型必须相同。两个表各相应列的数据类型必须相同。%只有最后一个只有最后一个SELECT语句中可以用语句中可以用ORDER BY 子子句。句。8.3 SELECT8.3 SELECT基本查询基本查询分组统计分组统计GROUP BY通过通过GROUP BY子句可以将查询结果按指定列进行分组,子句可以将查询结果按指定列进行分组,该列值相等的记录为一组。该列值相等的记录为一组。语法:语法:group_by_expression1,group_by_expression2,统计学生表中男女生人数。统计学生表中男女生人数。select 性别性别,count(*)as
19、人数人数 from 学生表学生表%group_by_expression1通常为字段名(列名)。通常为字段名(列名)。%通常和集合函数一起使用。通常和集合函数一起使用。统计选课表中每位学生的平均成绩。统计选课表中每位学生的平均成绩。8.3 SELECT8.3 SELECT基本查询基本查询筛选筛选HAVING若在分组后还要按照一定的条件进行筛选,则需使用若在分组后还要按照一定的条件进行筛选,则需使用HAVING子句。子句。语法:语法:searching_condition 查询选课表中平均成绩在查询选课表中平均成绩在90分以上的学生学号分以上的学生学号和平均成绩。和平均成绩。select 学号学
20、号,avg(成绩成绩)平均成绩平均成绩 from 选课表选课表group by 学号学号 8.3 SELECT8.3 SELECT基本查询基本查询lHAVING子句通常需要使用集合函数来限定查子句通常需要使用集合函数来限定查询结果。询结果。lHAVING子句和子句和WHERE子句都是条件限定子子句都是条件限定子句,但其作用对象不同。句,但其作用对象不同。WHERE子句子句HAVING子句子句作用对象作用对象表字段表字段计算字段计算字段与分组的关系与分组的关系无关无关只能用于分组查询只能用于分组查询中,必须在中,必须在GROUP BY 之后。之后。8.3 SELECT8.3 SELECT基本查询
21、基本查询l在多表连接查询中使用分组统计在多表连接查询中使用分组统计统计各门课程的平均成绩,并显示课程名。统计各门课程的平均成绩,并显示课程名。select 课程表课程表.课程号课程号,max(课程名课程名)课程名课程名,avg(成绩成绩)平均成绩平均成绩from 选课表选课表 inner join 课程表课程表 on 选课表选课表.课程号课程号=课程表课程表.课程号课程号group by 课程表课程表.课程号课程号统计平均分在统计平均分在9090分以上的课程号、课程名分以上的课程号、课程名和平均成绩。和平均成绩。查询学生的平均成绩,并显示学生姓名。查询学生的平均成绩,并显示学生姓名。课堂练习课
展开阅读全文