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查询分析器的工作界面查询分析器的工作界面对象浏对象浏对象浏对象浏览区域览区域览区域览区域选择数据库选择数据库选择数据库选择数据库输入输入输入输入SQLSQL区域区域区域区域显示查显示查显示查显示查询结果询结果询结果询结果8.1 8.1 查询分析器简介查询分析器简介l查询分析器的常用操作查询分析器的常用操作l执行执行SQL语句语句在在【输入输入SQL区域区域】中输入中输入SQL语句或打开一个语句或打开一个SQL文件,单击工具栏执行按钮文件,单击工具栏执行按钮 或按或按F5。l查看和修改表中的数据查看和修改表中的数据右键单击右键单击右键单击右键单击欲查看
3、或欲查看或欲查看或欲查看或修改的表修改的表修改的表修改的表8.1 8.1 查询分析器简介查询分析器简介l控制查询结果的显示方式控制查询结果的显示方式JJ 以文本方式显示以文本方式显示以文本方式显示以文本方式显示JJ 以表格显示结果以表格显示结果以表格显示结果以表格显示结果JJ 将结果保存为文件将结果保存为文件将结果保存为文件将结果保存为文件菜菜单单工工具具栏栏8.1 8.1 查询分析器简介查询分析器简介l新建查询窗口新建查询窗口J 单击工具栏单击工具栏【新建查询新建查询】按钮按钮 。J 选择菜单选择菜单【文件文件】|【新建新建】l保存在查询窗口中输入的保存在查询窗口中输入的SQL语句语句将光标
4、置于输入将光标置于输入SQL区域区域J 单击工具栏保存按钮单击工具栏保存按钮 J 选择菜单选择菜单【文件文件】|【保存保存】l保存查询结果保存查询结果将光标置于查询结果显示区域将光标置于查询结果显示区域J 单击工具栏保存按钮单击工具栏保存按钮 J 选择菜单选择菜单【文件文件】|【保存保存】8.1 8.1 查询分析器简介查询分析器简介l对象搜索对象搜索单击工具栏对象搜索按钮单击工具栏对象搜索按钮 或选择菜单或选择菜单【工具工具】|【对象搜索对象搜索】|【新建新建】。8.2 SELECT8.2 SELECT语句简介语句简介l数据查询是数据库最重要也是最主要数据查询是数据库最重要也是最主要的功能,在
5、数据库中,数据查询是通的功能,在数据库中,数据查询是通过过SELECT语句来完成的。语句来完成的。lSELECT查询语句只有一条语句,却查询语句只有一条语句,却能实现各种需求的查询。能实现各种需求的查询。l功能非常强大,依赖于其子句。功能非常强大,依赖于其子句。lSELECT语句的框架:语句的框架:8.2 SELECT8.2 SELECT语句简介语句简介SELECTSELECTSELECTSELECT ALL|DISTINCT;ALL|DISTINCT;TOP n PERCENT;TOP n PERCENT;.ASAS,ASAS;FROMFROMFROMFROM ,;INNER/LEFT/RI
6、GHT/FULL JOIN INNER/LEFT/RIGHT/FULL JOIN;ON ON;INTOINTOINTOINTO ;WHEREWHEREWHEREWHERE ;GROUP BYGROUP BYGROUP BYGROUP BY ,2 HAVINGHAVINGHAVINGHAVING ;ORDER BYORDER BYORDER BYORDER BY ASC/DESC,ASC/DESC,列名列名2ASC/DESC2ASC/DESC COMPUTECOMPUTECOMPUTECOMPUTE 集合函数集合函数(),1),集合函数集合函数(),2),BYBYBYBY ,2,提示:提示:提示
7、:提示:SELECT和和FROM是必备是必备的,其他子句根据实际情况设定。的,其他子句根据实际情况设定。8.3 SELECT8.3 SELECT基本查询基本查询l无条件简单查询无条件简单查询SELECTSELECT ALL|DISTINCT TOP n PERCENT select_listselect_list FROMFROM table_namel查询结果:从查询结果:从table_name中返回数据。中返回数据。l各选项含义:各选项含义:lALL:表示输出所有记录,包括重复记录。:表示输出所有记录,包括重复记录。lDISTINCT:输出无重复结果的记录。:输出无重复结果的记录。lTOP
8、 n:返回查询结果的前:返回查询结果的前n行数据。行数据。lTOP n PERCENT:返回查询结果前:返回查询结果前n%行数据。行数据。lselect_list:所要查询的选项(列)的集合,多个选项之间:所要查询的选项(列)的集合,多个选项之间用逗号分开。用逗号分开。ltable_name:要查询的表名。:要查询的表名。8.3 SELECT8.3 SELECT基本查询基本查询例例例例8-18-1:查询课程表中的所有数据。查询课程表中的所有数据。select 课程号课程号,课程名课程名,学时学时 from 课程表课程表提示:提示:提示:提示:如果查询某表的所有列时,可用如果查询某表的所有列时,
9、可用如果查询某表的所有列时,可用如果查询某表的所有列时,可用*代替各列名。代替各列名。代替各列名。代替各列名。select*from 课程表课程表例例例例8-28-2:查询课程表中前两行数据。查询课程表中前两行数据。select top 2 课程号课程号,课程名课程名,学时学时 from 课程表课程表8.3 SELECT8.3 SELECT基本查询基本查询例例例例8-38-3:查询课程表中前一半数据。:查询课程表中前一半数据。select top 50 percent*from 课程表课程表例例例例8-48-4:查询课程表中学时列,不显示重复记录。查询课程表中学时列,不显示重复记录。selec
10、t distinct 学时学时 from 课程表课程表和原数据比和原数据比和原数据比和原数据比较:较:较:较:Select Select 学时学时 from from 课程表课程表8.3 SELECT8.3 SELECT基本查询基本查询l l提问:提问:下列下列SELECT语句含义语句含义p select*from 学生学生p select top 3 学号学号,姓名姓名,性别性别 from 学生学生p select top 20 percent 学号学号,姓名姓名,性别性别from 学生学生p select distinct 性别性别 from 学生学生8.3 SELECT8.3 SELEC
11、T基本查询基本查询l使用别名使用别名在输出结果中,如果不希望使用字段名作为各列的标题,在输出结果中,如果不希望使用字段名作为各列的标题,可以根据需求设置列标题。可以根据需求设置列标题。格式:格式:格式:格式:column_name1 ASAS column_title1,例例例例8-58-5:查询课程表所有数据,字段学时显示为课时。查询课程表所有数据,字段学时显示为课时。select 课程号课程号,课程名课程名,学时学时 as 课时课时 from 课程表课程表提示:提示:提示:提示:AS可以省略。可以省略。select 课程号课程号,课程名课程名,学时学时 课时课时 from 课程表课程表8.
12、3 SELECT8.3 SELECT基本查询基本查询l使用集合函数进行统计使用集合函数进行统计可以通过可以通过集合函数集合函数集合函数集合函数对表数据进行统计计算,并返对表数据进行统计计算,并返回计算结果。比如查询表中记录的个数、查询回计算结果。比如查询表中记录的个数、查询学生的平均成绩等。学生的平均成绩等。l lAVG(AVG():求一列数据的平均值。:求一列数据的平均值。l lSUM(SUM():求一列数据的和。:求一列数据的和。l lCOUNT(*)COUNT(*):统计查询的行数。:统计查询的行数。l lMIN(MIN():求列中的最小值。:求列中的最小值。l lMAX(MAX():求
13、列中的最大值。:求列中的最大值。8.3 SELECT8.3 SELECT基本查询基本查询例例例例8-68-6:查询学生表中的记录数。查询学生表中的记录数。select count(*)from 学生表学生表例例例例8-78-7:查询选课表中最高分和最低分。查询选课表中最高分和最低分。select max(成绩成绩),min(成绩成绩)from 选课表选课表例例例例8-88-8:查询选课表中的平均成绩。查询选课表中的平均成绩。select avg(成绩成绩)from 选课表选课表提示:提示:提示:提示:在使用集合函数时,常需重新命令列标题。在使用集合函数时,常需重新命令列标题。改为:改为:sel
14、ect max(成绩成绩)asas 最高分最高分,min(成绩成绩)asas 最低分最低分 from 选课表选课表8.3 SELECT8.3 SELECT基本查询基本查询l带条件查询带条件查询经常会查询符合某条件的记录,比如查询学生表经常会查询符合某条件的记录,比如查询学生表中女同学的信息,查询成绩在中女同学的信息,查询成绩在90分以上的记录分以上的记录等。通过等。通过WHERE子句来指定查询条件。子句来指定查询条件。格式:格式:WHERE WHERE l l条件表达式:条件表达式:条件表达式:条件表达式:通过通过比较操作符比较操作符比较操作符比较操作符和和逻辑操作符逻辑操作符逻辑操作符逻辑操
15、作符构成的逻辑构成的逻辑判断的式子。判断的式子。l l比较操作符比较操作符比较操作符比较操作符:=、!=(或(或)、)、=、=90;not(成绩成绩=90)课程号课程号=c01 and 成绩成绩=808.3 SELECT8.3 SELECT基本查询基本查询例例例例8-98-9:查询学生表中女同学的个人信息。查询学生表中女同学的个人信息。select 学号学号,姓名姓名,性别性别 from 学生表学生表 where 性别性别=女女例例例例8-108-10:查询课程表中查询课程表中c01和和c03这两门课程情况。这两门课程情况。select*from 课程表课程表 where 课程号课程号=c01
16、 oror 课程号课程号=c03提示:提示:提示:提示:%书写表达式时需要根据数据类型来加定界符。书写表达式时需要根据数据类型来加定界符。%表达多个条件时使用表达多个条件时使用AND和和OR,注意其逻辑含义。,注意其逻辑含义。8.3 SELECT8.3 SELECT基本查询基本查询l查询结果处理查询结果处理l排序输出排序输出ORDER BY语法格式:语法格式:ORDER BY order_by_expression1ASC|DESC,order_by_expression2ASC|DESC,ASCASC升序(默认);升序(默认);DESCDESC降序降序order_by_expression1通常为字段,字段与字通常为字段,字段与字段之间用逗号分隔。段之间用逗号分隔。例如:例如:order by 性别(以性别来排序)性别(以性别来排序)order by 性别性别,姓名(先以性别升序来排,姓名(先以性别升序来排,性别相同的再以姓名升序来排)性别相同的再以姓名升序来排)8.3 SELECT8.3 SELECT基本查询基本查询例例例例8-118-11:将选课表的成绩按从将选课表的成绩按从低到
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1