关系数据库标准语言SQL(下).ppt
《关系数据库标准语言SQL(下).ppt》由会员分享,可在线阅读,更多相关《关系数据库标准语言SQL(下).ppt(50页珍藏版)》请在三一办公上搜索。
1、数据库应用与设计,3.5 数据查询功能,SQL的核心是查询。SQL的查询命令也称作SQL SELECT命令,该命令使用非常灵活,可以完成复杂的查询。要求熟练掌握SQL SELECT命令的使用。,数据库应用与设计,SQL SELECT命令的语法,SELECT ALL|DISTINCTTOP expression PERCENTWITH TIES select_list INTO new_table FROM table_source WHERE search_condition GROUP BY group_by_expression HAVING search_condition ORDER
2、BY order_expression ASC|DESC COMPUTE AVG|COUNT|MAX|MIN|SUM(expression),.n BY expression,.n,SQL Server还支持查询结果的并、交、差和广义笛卡尔积运算。,数据库应用与设计,各种运算符和表达式,关系运算符 NOT BETWEENAND match_expression NOT LIKE patternexpression IS NOT NULL test_expression NOT IN(subquery|expression,.n)并(UNION)、交(INTERSECT)、差(EXCEPT)运算
3、,数据库应用与设计,关系运算符,关系运算符包括:等于(=)不等于(或!=)大于()大于等于(=)不大于(!)小于()小于等于(=)不小于(!),可以用逻辑与(AND)逻辑或(OR)逻辑非(NOT)对表达式进行逻辑运算,如表达式:学时=40 学时=50 AND 学时=60,数据库应用与设计,区间判断 NOT BETWEENAND,如表达式:学时 BETWEEN 50 AND 60,test_expression NOT BETWEEN begin_expression AND end_expression,等价于:学时=50 AND 学时=60,表达式:学时 NOT BETWEEN 50 AND
4、 60,等价于:学时60,数据库应用与设计,字符串匹配,match_expression NOT LIKE patternmatch_expression是要进行匹配比较的字符串表达式pattern是含有通配符的字符串“模版”,数据库应用与设计,字符串匹配,数据库应用与设计,空值判断,expression IS NOT NULL 空值是一个概念而不是一个具体的值,所以不能用相等或不相等进行比较。,例如:责任教师 IS NULL而不能写为:责任教师=NULL,数据库应用与设计,判断元素是否属于集合,test_expression NOT IN(subquery|expression,.n)用来确
5、定给定的表达式的值是否与子查询或集合列表中的值匹配。,如:职称 IN(讲师,副教授,教授),数据库应用与设计,集合运算,并(UNION)交(INTERSECT)差(EXCEPT)运算,数据库应用与设计,通过实践来学习,简单查询 连接查询 分组与汇总查询 嵌套查询,图3-1 样本数据库,数据库应用与设计,图3-1 样本数据库,简单查询,例31:查询学生的全部信息。例32:查询所有课程名称和学时信息。例33:查询学时大于等于40的课程编号和课程名称。例34:查询课时在50到60(含)之间的课程信息。例35:同例4,使用BETWEEN。例36:查询具有教授和副教授职称的教师信息。例37:查询责任教师
6、字段为空值的记录。例38:查询职称为讲师或副教授的教师信息。,数据库应用与设计,几个关键词,ALL(默认):查询结果中保留重复行DISTINCT:查询结果中删除重复行INTO:将查询结果存储到指定的表SELECT INTO ORDER BY:查询结果排序ORDER BY order_expression ASC|DESC TOP:只返回查询结果的“前”一组结果 TOP(expression)PERCENT WITH TIES,数据库应用与设计,图3-1 样本数据库,简单查询,例39:查询或浏览课程性质和学时信息。例40:查询“专业基础”课程的信息,并将结果存储到Student模式下、表名为“专
7、业基础”。例41:按教师编号升序列出所有教师信息。例42:查询所有学生信息,先按生源升序排序、再按学号升序排序。例43:从选课表中查询考试成绩最高的3条选课信息。例44:从选课表中查询考试成绩最高的3条选课信息,如果有与第三条记录的考试成绩并列记录的也列出。例45:从选课表中查询考试成绩在前15%的选课记录信息,如果随后有成绩并列的记录也一起列出。,数据库应用与设计,图3-1 样本数据库,集合运算,例46:查询职称为教授和副教授的教师姓名和专业(用集合并运算完成)。例47:查询具有教授职称并是课程责任教师的教师编号(用集合交运算完成)。例48:查询不是课程责任教师的教师编号(用集合差运算完成)
8、。,数据库应用与设计,连接查询,SELECT FROM INNER|LEFT|RIGHT|FULL OUTER JOIN ON INNER|LEFT|RIGHT|FULL OUTER JOIN ON,nWHERE,当查询涉及多个表、特别是当查询结果的数据涉及多个表时需要使用连接查询。,数据库应用与设计,连接查询,图3-1 样本数据库,例3-49:查询教师所负责的课程信息(责任教师的姓名、职称、负责的课程名称和课程性质)。例3-50:查询教师所负责的课程信息,同时列出没有确定责任教师的课程。例3-51:查询教师所负责的课程信息,同时列出不是责任教师的教师信息。例3-52:查询教师所负责的课程信息
9、,同时列出没有确定责任教师的课程信息和不是责任教师的教师信息。例3-53:查询考试成绩在90分以上(含)的学生的学号、姓名、相应的课程名称和考试成绩。例3-54:查询考试成绩在90分以上(含)的学生的学号、姓名、相应的课程名称和考试成绩(使用CROSS JOIN连接完成查询)。,数据库应用与设计,分组与汇总查询,SQL SELECT查询可以直接对查询结果进行汇总计算,也可以对查询结果进行分组计算。在查询中完成计算的函数称作聚合函数,分组查询分为GROUP BY分组和COMPUTE BY分组两种。,数据库应用与设计,聚合函数,常用:COUNTAVGMINMAXSUM,其他:CHECKSUMCHE
10、CKSUM_AGG COUNT_BIGGROUPINGSTDEVSTDEVPVARVARP等,数据库应用与设计,聚合函数与汇总查询,SELECT FROM table_source WHERE search_condition GROUP BY group_by_expression HAVING search_condition ORDER BY order_expression ASC|DESC COMPUTE BY expression,.n,聚合函数是对初始的查询结果进行计算然后得到最终的查询结果,所以聚合函数只可以用在:SELECT子句的选择列表;限定GROUP BY分组的HAVIN
11、G子句;完成计算的COMPUTE子句。,数据库应用与设计,汇总查询,例3-55:查询目前有多少责任教师。例3-56:查询数据库课程的平均成绩。,图3-1 样本数据库,对SELECT的全体查询结果进行汇总计算。SELECT,nFROM WHERE search_condition,数据库应用与设计,GROUP分组查询与计算,SELECT子句和GROUP BY子句中的group_by_expression是相对应的,它是分组标识,通常是字段;WHERE子句中的search_condition是查询条件,它与分组无关,执行查询时是先查找满足条件的记录,然后对满足条件的记录进行分组;HAVING子句用
12、来限定分组,所以该子句中的search_condition是分组的记录应该满足的条件,HAVING子句必须配合GROUP BY子句使用;分组时使用聚合函数对每一组的记录进行计算,并且同时可以进行多种计算。,SELECT group_by_expression,n FROM WHERE search_condition GROUP BY group_by_expression HAVING search_condition,数据库应用与设计,图3-1 样本数据库,GROUP分组查询举例,例3-57:查询各院系教师的人数(显示院系名称和教师人数)。例3-58:查询各门课程考试成绩的平均分、最高分和
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 关系 数据库 标准 语言 SQL
链接地址:https://www.31ppt.com/p-6553366.html