文档详情

数据库原理与应用案例.docx

发布:2017-06-14约2.57万字共42页下载文档
文本预览下载声明
青岛理工大学琴岛学院教师课题纸课题数据库原理与应用总课时数64累计课时第 19-20 课时授课时间2015年 10 月5日第6 周星期一34节教学目的通过学习熟练掌握表的各种查询教学重点连接查询、嵌套查询教学难点嵌套查询课型理论教具多媒体课后小结连接查询、简单嵌套查询在查询中所占比例最大,掌握程度较好板书设计第三章3.3 3.4教学进程回顾注释一、复习提问二、单表查询 三、连接查询 四、嵌套查询 五、总结 SelectFromWhereDistinct复习1、什么是索引?如何创建索引?2、什么是聚集索引?3、查询语句的一般格式?4、查询语句中的*和all有何区别?5、Like有何作用?有哪些通配符?各有什么作用?3.3.1ORDER BY子句ORDER BY子句:可以按一个或多个属性列排序升序:ASC;降序:DESC;缺省值为升序。当排序列含空值时ASC:排序列为空值的元组最先显示DESC:排序列为空值的元组最后显示[例24] 查询选修了3号课程的学生的学号及其成绩,查询结果按分数降序排列。 SELECT Sno,Grade FROM SCWHERE Cno= 3 ORDER BY Grade DESC;[例25]查询全体学生情况,查询结果按所在系的系号升序排列,同一系中的学生按年龄降序排列。 SELECT * FROM Student ORDER BY Sdept,Sage DESC;GROUP BY子句GROUP BY子句分组:细化聚集函数的作用对象未对查询结果分组,聚集函数将作用于整个查询结果对查询结果分组后,聚集函数将分别作用于每个组作用对象是查询的中间结果表按指定的一列或多列值分组,值相等的为一组[例31] 求各个课程号及相应的选课人数。SELECT Cno,COUNT(Sno) 选课人数FROM SC GROUP BY Cno;?[例32] 查询选修了3门以上课程的学生学号。SELECT Sno FROM SC GROUP BY Sno HAVING COUNT(*) 3;?注意事项:HAVING短语与WHERE子句的区别:作用对象不同WHERE子句作用于基表或视图,从中选择满足条件的元组HAVING短语作用于组,从中选择满足条件的组。例题:select sno, count(*) as num,sum(score),max(score), min(score) from sc group by sno having avg(score)=603.3.3聚集函数COUNT函数--COUNT函数返回列中的记录个数。函数格式: COUNT ( [ ALL | DISTINCT ]列名 | *)说明:(1)COUNT函数默认使用ALL参数,它将重复计算相同的值,但不包含值为NULL的行。(2)使用DISTINCT时,相同的值只计数一次,且不包含NULL值。COUNT函数(3)在COUNT函数中只引用一个列名时,将返回该列中行记录的个数,但不包含值为NULL的行。(4)在COUNT函数中可以使用 * 做参数,它表示返回表中的所有行数,包括含有NULL值的行。集合函数[例28] 计算1号课程的学生平均成绩。SELECT AVG(Grade) FROM SC WHERE Cno= 1 ;[例30]查询学生200215012选修课程的总学分数。SELECT SUM(Ccredit) FROM SC, Course WHER Sno=200215012 AND SC.Cno=Course.Cno; 注意:Where子句中不能使用聚集函数聚集函数除count(*)外,都不处理空值连接查询Transact-SQL提供了连接操作符JOIN,用于从两张或多张数据表的连接中获取数据。两张表之间的连接可以有以下几种不同的方式:内连接[INNER] JOIN外连接LEFT [OUTER] JOIN RIGHT [OUTER] JOIN FULL [OUTER] JOIN自连接[INNER] JOIN交叉连接CROSS JOIN一、内连接(等值与非等值连接查询)JOIN和ON关键字建立连接的命令格式:SELECT select_list FROM table1 [INNER] JOIN table2 ON table1.column1 比较运算符 table2. Column2)等值连接:连接运算符为=
显示全部
相似文档