SQL的数据查询课件10574.pptx
《SQL的数据查询课件10574.pptx》由会员分享,可在线阅读,更多相关《SQL的数据查询课件10574.pptx(52页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第3节节 SQL的数据查询的数据查询第第第第5 5章章章章 关系数据库语言关系数据库语言关系数据库语言关系数据库语言SQLSQL主要内容主要内容n nn简单查询简单查询n nn常用函数及其使用方式常用函数及其使用方式常用函数及其使用方式常用函数及其使用方式n nnSQLSQL高高高高级查询级查询技技技技术术n nn谓词谓词演算演算演算演算查询查询2数据查询数据查询 SELECTSELECT命令的格式与基本使用命令的格式与基本使用命令的格式与基本使用命令的格式与基本使用SELECTSELECT ALL|DISTINCTTOP N ALL|DISTINCTTOP N PERCENTWITH TI
2、ESPERCENTWITH TIES列名列名列名列名AS AS 别别名名名名1 1,列名列名列名列名 AS AS 别别名名名名22INTO INTO 新表名新表名新表名新表名 FROMFROM表名表名表名表名1 1或或或或视图视图名名名名1 1AS AS 表表表表1 1别别名名名名 ,表名表名表名表名2 2或或或或视图视图名名名名2 2AS AS 表表表表2 2别别名名名名 WHEREWHERE检检索条件索条件索条件索条件 GROUP BYGROUP BY HAVING HAVING ORDER BYORDER BY ASC|DESC 2ASC|DESC 投影 选取 3一、简单查询一、简单查询
3、1 1、SELECTSELECT和和和和FROMFROM子句子句子句子句 SELECT SELECT FROM FROM WHERE WHERE 作用作用作用作用 SELECTSELECT:,用来列出,用来列出,用来列出,用来列出查询结查询结果中的属性果中的属性果中的属性果中的属性 FROMFROM:,用来列出需,用来列出需,用来列出需,用来列出需扫扫描的关系描的关系描的关系描的关系 WHERE WHERE :,指定指定指定指定选择记录选择记录的条件的条件的条件的条件 42 2、无条件查询、无条件查询、无条件查询、无条件查询例例例例3.16 3.16 查询查询教学管理数据教学管理数据教学管理数
4、据教学管理数据库库中全部学生的基本信中全部学生的基本信中全部学生的基本信中全部学生的基本信息。息。息。息。SELECT*SELECT*FROM S FROM S;52 2、无条件查询(续)、无条件查询(续)、无条件查询(续)、无条件查询(续)例例例例3.17 3.17 查询查询教学管理数据教学管理数据教学管理数据教学管理数据库库中全部教中全部教中全部教中全部教师师的教的教的教的教职职工工工工编编号、姓名、号、姓名、号、姓名、号、姓名、职职称和所属教研室。称和所属教研室。称和所属教研室。称和所属教研室。SELECT T#SELECT T#,TNAMETNAME,TITLEOFTITLEOF,TR
5、SECTIONTRSECTION FROM T FROM T;62 2、无条件查询聚合函数、无条件查询聚合函数、无条件查询聚合函数、无条件查询聚合函数 聚合函数聚合函数聚合函数聚合函数 能能能能够够根据根据根据根据查询结查询结果的果的果的果的记录记录集或根据集或根据集或根据集或根据查询结查询结果果果果的的的的记录记录集中某列集中某列集中某列集中某列值值的特点返回一个的特点返回一个的特点返回一个的特点返回一个汇总汇总信息的函信息的函信息的函信息的函数。数。数。数。输输入入入入值值的一个集合的一个集合的一个集合的一个集合 返回返回返回返回单单个个个个值值78聚合函数聚合函数聚合函数聚合函数 COU
6、NT(*)COUNT(*)计计算元算元算元算元组组的个数的个数的个数的个数 COUNT(COUNT(列名列名列名列名)计计算某一列中数据的个数算某一列中数据的个数算某一列中数据的个数算某一列中数据的个数 COUNT DISTINCT(COUNT DISTINCT(列名列名列名列名)计计算某一列中不同算某一列中不同算某一列中不同算某一列中不同值值的个数的个数的个数的个数 SUM(SUM(列名列名列名列名)计计算某一数据列中算某一数据列中算某一数据列中算某一数据列中值值的的的的总总和和和和 AVG(AVG(列名列名列名列名)计计算某一数据列中算某一数据列中算某一数据列中算某一数据列中值值的平均的平
7、均的平均的平均值值 MIN(MIN(列名列名列名列名)求(字符、日期、数求(字符、日期、数求(字符、日期、数求(字符、日期、数值值列)的最小列)的最小列)的最小列)的最小值值 MAX(MAX(列名列名列名列名)求(字符、日期、数求(字符、日期、数求(字符、日期、数求(字符、日期、数值值列)的最大列)的最大列)的最大列)的最大值值2 2、无条件查询聚合函数(续)、无条件查询聚合函数(续)、无条件查询聚合函数(续)、无条件查询聚合函数(续)9例例例例3.18 3.18 查询查询开开开开课总门课总门数数数数 SELECT COUNT(*)SELECT COUNT(*)FROM C FROM C;例例
8、例例3.19 3.19 计计算所有学生所学算所有学生所学算所有学生所学算所有学生所学课课程的最高分数、最低程的最高分数、最低程的最高分数、最低程的最高分数、最低分数和平均分数。分数和平均分数。分数和平均分数。分数和平均分数。SELECT SELECT MAX(GRADE),MIN(GRADE),AVG(GRADE)MAX(GRADE),MIN(GRADE),AVG(GRADE)FROM SCFROM SC;2 2、无条件查询聚合函数(例)、无条件查询聚合函数(例)、无条件查询聚合函数(例)、无条件查询聚合函数(例)103 3、单条件查询、单条件查询、单条件查询、单条件查询例例例例3.20 3.
9、20 查询查询所有学所有学所有学所有学习习了了了了计计算机网算机网算机网算机网络课络课(课课程号程号程号程号为为C403001C403001)的学生的学号和成)的学生的学号和成)的学生的学号和成)的学生的学号和成绩绩 SELECT S#SELECT S#,GRADEGRADE FROM SC FROM SC WHERE C#=WHERE C#=C403001C403001;114 4、多条件查询、多条件查询、多条件查询、多条件查询例例例例3.21 3.21 查询选查询选修了修了修了修了计计算机网算机网算机网算机网络课络课(课课程号程号程号程号为为C403001C403001)或信息安全技)或信
10、息安全技)或信息安全技)或信息安全技术课术课(课课程号程号程号程号为为C403002C403002)的学生的学号)的学生的学号)的学生的学号)的学生的学号 SELECT S#SELECT S#FROM SC FROM SC WHERE C#=WHERE C#=C403001C403001 OR C#=OR C#=C403002C403002 ;125 5、分组查询、分组查询、分组查询、分组查询 SELECT SELECT FROM FROM WHERE WHERE GROUP BYGROUP BY 作用作用作用作用:对满对满足足足足WHEREWHERE条件的元条件的元条件的元条件的元组组集按照
11、指定的列的集按照指定的列的集按照指定的列的集按照指定的列的值进值进行分行分行分行分组组,该该属性列属性列属性列属性列值值相等的元相等的元相等的元相等的元组为组为一一一一组组13例例例例例例例例3.23 3.23 计计算各个同学的平均分数。算各个同学的平均分数。算各个同学的平均分数。算各个同学的平均分数。SELECT S#SELECT S#,AVG(GRADE)AVG(GRADE)FROM SC FROM SC GROUP BY S#GROUP BY S#;SELECT SELECT FROM FROM WHERE WHERE GROUP BY GROUP BY HAVINGHAVING 作用作
12、用作用作用:指定指定指定指定GROUP BYGROUP BY子句形成的分子句形成的分子句形成的分子句形成的分组组所所所所应满应满足的条件足的条件足的条件足的条件5 5、分组查询(续)、分组查询(续)、分组查询(续)、分组查询(续)1415例例例例例例例例3.25 3.25 查询查询学生学生学生学生总总数超数超数超数超过过300300人的人的人的人的专业专业及其具体及其具体及其具体及其具体的的的的总总人数人数人数人数 SELECT SCODESELECT SCODE,COUNT(*)COUNT(*)FROM S FROM S GROUP BY SCODE GROUP BY SCODE HAVIN
13、G COUNT(*)300 HAVING COUNT(*)300;166 6、结果的排序、结果的排序、结果的排序、结果的排序 ORDER BY ORDER BY ASC/DESC ASC/DESC ,ASC/DESCASC/DESC;作用作用作用作用:依据依据依据依据给给定列的定列的定列的定列的值值,控制,控制,控制,控制查询结查询结果中元果中元果中元果中元组组的排的排的排的排列列列列顺顺序。序。序。序。176 6、结果的排序(例)、结果的排序(例)、结果的排序(例)、结果的排序(例)例例例例3.27 3.27 按学号按学号按学号按学号递递增、增、增、增、课课程成程成程成程成绩递绩递减的减的减
14、的减的显显示示示示顺顺序序序序显显示学生的示学生的示学生的示学生的课课程成程成程成程成绩绩SELECT S#SELECT S#,C#C#,GRADEGRADEFROM SCFROM SCORDER BY S#ASCORDER BY S#ASC,GRADE DESCGRADE DESC;187 7、字符串的匹配、字符串的匹配、字符串的匹配、字符串的匹配 下划下划下划下划线线通配符通配符通配符通配符_ _:代表任意一个字符:代表任意一个字符:代表任意一个字符:代表任意一个字符 百分号通配符百分号通配符百分号通配符百分号通配符%:代表任意:代表任意:代表任意:代表任意长长度的字符串度的字符串度的字符
15、串度的字符串例例例例3.28 3.28 查询查询S S中姓李的学生的学号和姓名中姓李的学生的学号和姓名中姓李的学生的学号和姓名中姓李的学生的学号和姓名SELECT S#SELECT S#,SNAMESNAME FROM S FROM S WHERE SNAME LIKE WHERE SNAME LIKE 李李李李%;19简单查询语句简单查询语句简单查询语句简单查询语句 SELECT SELECT FROMFROM WHERE WHERE GROUP BY GROUP BY HAVING HAVING ORDER BY ORDER BY ASC/DESC ASC/DESC ,ASC/DESC A
16、SC/DESC ;读取读取读取读取FROMFROM子句指定的基本表子句指定的基本表子句指定的基本表子句指定的基本表或或或或视图视图视图视图的数据,执行笛卡尔积的数据,执行笛卡尔积的数据,执行笛卡尔积的数据,执行笛卡尔积操作操作操作操作选取满足选取满足选取满足选取满足WHEREWHERE子句中给出子句中给出子句中给出子句中给出的条件表达式的元组的条件表达式的元组的条件表达式的元组的条件表达式的元组按按按按GROUP BYGROUP BY子句中指定列的子句中指定列的子句中指定列的子句中指定列的值进行分组,同时提取满足值进行分组,同时提取满足值进行分组,同时提取满足值进行分组,同时提取满足HAVIN
17、GHAVING子句中组条件表达式子句中组条件表达式子句中组条件表达式子句中组条件表达式的那些组的那些组的那些组的那些组按按按按SELECTSELECT子句中给出的列名子句中给出的列名子句中给出的列名子句中给出的列名或列表达式求值输出或列表达式求值输出或列表达式求值输出或列表达式求值输出ORDER BYORDER BY子句对输出的结果子句对输出的结果子句对输出的结果子句对输出的结果(目标表)进行排序,按指定(目标表)进行排序,按指定(目标表)进行排序,按指定(目标表)进行排序,按指定列的值升序或降序排列列的值升序或降序排列列的值升序或降序排列列的值升序或降序排列20二、二、SQL高级查询技术高级
18、查询技术1 1、多表、多表、多表、多表联联接接接接查询查询例例例例3.32 3.32 查询查询所有学所有学所有学所有学习习了数据了数据了数据了数据结结构构构构课课(课课程号程号程号程号为为C401001C401001)的学生的学号和姓名)的学生的学号和姓名)的学生的学号和姓名)的学生的学号和姓名 SELECT S.S#SELECT S.S#,SNAMESNAME FROM S FROM S,SCSC WHERE S.S#=SC.S#WHERE S.S#=SC.S#AND C#=AND C#=C401001C401001;212 2、嵌套查询、嵌套查询、嵌套查询、嵌套查询 在在在在SQLSQL语
19、语言中,如果在一个言中,如果在一个言中,如果在一个言中,如果在一个SELECTSELECT语语句的句的句的句的 WHEREWHERE子句中嵌入了另一个子句中嵌入了另一个子句中嵌入了另一个子句中嵌入了另一个SELECTSELECT语语句,句,句,句,则则称称称称这这种种种种查询为查询为嵌套嵌套嵌套嵌套查询查询。WHEREWHERE子句中的子句中的子句中的子句中的SELECTSELECT语语句称句称句称句称为为子子子子查询查询,外,外,外,外部的部的部的部的查询查询称称称称为为父父父父查询查询。22 SELECT*SELECT*SELECT*SELECT*SELECT*SELECT*FROM S
20、FROM S FROM S FROM S FROM S FROM S WHERE CLASS=(WHERE CLASS=(WHERE CLASS=(WHERE CLASS=(WHERE CLASS=(WHERE CLASS=()AND SSEX=AND SSEX=AND SSEX=AND SSEX=AND SSEX=AND SSEX=女女女女女女 ;2 2、嵌套查询例、嵌套查询例、嵌套查询例、嵌套查询例示例示例示例示例 查询张华查询张华查询张华查询张华同学(学号同学(学号同学(学号同学(学号为为为为200401001200401001200401001200401001)的那个班)的那个班)的
21、那个班)的那个班的女同学的基本信息的女同学的基本信息的女同学的基本信息的女同学的基本信息。SELECT CLASS SELECT CLASS SELECT CLASS SELECT CLASS FROM S FROM S FROM S FROM S WHERE S#=WHERE S#=WHERE S#=WHERE S#=200401001200401001200401001200401001 233 3、查询中的表更名、查询中的表更名、查询中的表更名、查询中的表更名3 3、查询查询中的表更名中的表更名中的表更名中的表更名 旧名旧名旧名旧名 AS AS 新名新名新名新名例例例例3.353.35
22、检检索成索成索成索成绩绩比比比比该课该课程平均成程平均成程平均成程平均成绩绩低的学生成低的学生成低的学生成低的学生成绩绩表。表。表。表。SELECT S#SELECT S#,C#C#,GRADEGRADEFROM SCFROM SCWHERE GRADE (SELECT AVG(GRADE)WHERE GRADE (SELECT AVG(GRADE)FROM SC AS XFROM SC AS XWHERE X.C#=SC.C#)WHERE X.C#=SC.C#);24三、谓词演算查询三、谓词演算查询 所谓基于谓词演算的查询是指把谓词看作是特所谓基于谓词演算的查询是指把谓词看作是特所谓基于谓词
23、演算的查询是指把谓词看作是特所谓基于谓词演算的查询是指把谓词看作是特所谓基于谓词演算的查询是指把谓词看作是特所谓基于谓词演算的查询是指把谓词看作是特殊比较操作符、应用于殊比较操作符、应用于殊比较操作符、应用于殊比较操作符、应用于殊比较操作符、应用于殊比较操作符、应用于WHEREWHEREWHEREWHEREWHEREWHERE子句的条件表达式中子句的条件表达式中子句的条件表达式中子句的条件表达式中子句的条件表达式中子句的条件表达式中的查询。的查询。的查询。的查询。的查询。的查询。操作符操作符操作符操作符 说明说明说明说明 between A and Bbetween A and Bnot no
24、t between between A A and Band Blikelikeininnot innot inany any somesomeallallexistsexistsnot existsnot exists 某列的数值区间是某列的数值区间是某列的数值区间是某列的数值区间是AAAA,BBBB某列的数值区间在某列的数值区间在某列的数值区间在某列的数值区间在AAAA,BBBB外外外外两个字符串的部分字符相等,其余可以任意两个字符串的部分字符相等,其余可以任意两个字符串的部分字符相等,其余可以任意两个字符串的部分字符相等,其余可以任意某列的某个值属于集合成员中的一个成员某列的某个值属于集
25、合成员中的一个成员某列的某个值属于集合成员中的一个成员某列的某个值属于集合成员中的一个成员某列的值不属于集合成员中的任何一个成员某列的值不属于集合成员中的任何一个成员某列的值不属于集合成员中的任何一个成员某列的值不属于集合成员中的任何一个成员某列的值满足一个条件即可某列的值满足一个条件即可某列的值满足一个条件即可某列的值满足一个条件即可满足集合中的某些值满足集合中的某些值满足集合中的某些值满足集合中的某些值某列的值满足子查询中所有值的记录某列的值满足子查询中所有值的记录某列的值满足子查询中所有值的记录某列的值满足子查询中所有值的记录总存在一个值满足条件总存在一个值满足条件总存在一个值满足条件总
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SQL 数据 查询 课件 10574
限制150内