欢迎来到天天文库
浏览记录
ID:48805573
大小:168.50 KB
页数:26页
时间:2020-01-26
《第6章数据库查询.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第6章数据库查询逯燕玲戴红李志明主编第6章数据库查询6.1SELECT语句的简单查询6.2T-SQL高级查询6.3存储查询结果26.1SELECT语句的简单查询【例6-1】从作者表中找到每位作者姓名和住宅电话。USEbook_manageSELECT姓名,住宅电话FROM作者表【例6-2】从“作者表”中找到姓为“李”的作者姓名和住宅电话。USEbook_manageSELECT姓名,住宅电话FROM作者表WHERE姓名LIKE'[李]%'3【例6-3】从“作者表”中找到住宅电话区号为“010”的作者编号、姓名和住宅电话。USEbook_manageSELECT作者编号,姓名,住宅电话FROM作
2、者表WHERE住宅电话LIKE'010%46.2T-SQL高级查询6.2.1多表查询连接查询:通过每个表之间共同列的关联性来查询数据,它是关系数据库查询最主要的特征。连接查询分为内连接查询、外连接查询、自连接查询。合并查询:使用UNION操作符的查询,是求两个或多个查询结果的并集。51.连接查询【例6-4】查找成绩为90分或以上的学生姓名、课程号和成绩。USEStudentsSELECTStudent.SName,SC.CNo,SC.GradeFROMStudentJOINSCON(Student.SNo=SC.SNo)WHEREGrade>=906连接类型内连接(INNER):仅显示两个连接
3、表中匹配的行,INNER关键字可以缺省。【例6-5】查找选修了课程的学生姓名。USEstudentsSELECTDISTINCTS.SNameFROMStudentASSINNERJOINSCASGON(S.SNo=G.SNo)7外连接(OUTER):连接双方有左右之分,“表1”称为“左”表,表2称为“右”表。用左表的每行数据去匹配右表的数据列,符合连接条件的数据返回到结果集中,不符合连接条件的列将被填上NULL值再返回到结果集中。左外连接(LeftOuter)右外连接(RightOuter)完全外连接(FullOuter)8左外连接:结果集中包括“左”表中的所有行及“右”表中所有匹配的行,不
4、包括“右”表中不匹配的行。【例6-6】查看所有学生姓名及其选课情况(课程号)。USEstudentsSELECTS.SName,G.CNoFROMStudentASSLEFTOUTERJOINSCASGON(S.SNo=G.SNo)9右外连接:包括“右”表中的所有行及“左”表中所有匹配的行,不包括“左”表中不匹配的行。【例6-7】查找所有选修了课程的学生姓名。USEstudentsSELECTDISTINCTS.SNameFROMStudentASSRIGHTOUTERJOINSCASGON(S.SNo=G.SNo)10完全外连接:包括所有连接表中的所有行,不论它们是否匹配。【例6-8】查看所
5、有任课教师及课程情况。USEstudentsSELECTT.TName,C.CNameFROMTeachersASTFULLOUTERJOINCoursesASCON(C.TNo=T.TNo)11交叉连接(CROSS):即两个连接表的笛卡儿积,求两个表中所有行的连串,每个连串作为结果集中的一行。【例6-9】“教师基本信息”表与“课程基本信息”表的交叉连接。USEstudentsSELECTT.TName,C.CNameFROMTeachersASTCROSSJOINCoursesASC12自连接:连接双方可以是不同的两个表,也可以是同一个表。在一个表与其自身之间进行连接为自连接。自连接可以是内
6、连接或外连接。【例6-10】求“数据库原理及应用”课程的间接先行课的课程号。USEstudentsSELECTC1.CName,C2.PCNoFROMCoursesASC1JOINCoursesASC2ON(C1.PCNo=C2.CNo)WHEREC1.CName='数据库原理及应用'132.合并查询【例6-11】求table1和table2中的内容。SELECT*FROMtable1UNIONSELECT*FROMtable2UNION操作符将两个或两个以上的查询结果合并为一个结果集,其语法格式如下:<查询1>UNION[ALL]<查询2>[……UNION[ALL]<查询n>]146.2.2
7、分组查询1.GROUPBY子句【例6-12】求各职称级别教师的平均年龄。USEstudentsSELECT职称,AVG(Age)FROMTeachersWHEREAge<=50GROUPBY职称15GROUPBY子句的语法格式为:GROUPBY[ALL]<分组表达式1>[,……n][WITH{CUBE
8、ROLLUP}]【例6-13】求各职称级别教师的平均年龄。SELECT职称,Sex,COUNT(
此文档下载收益归作者所有