- 1、本文档共44页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[教育]第9-10讲 SQL高级应用
第6章 SQL 高级应用 主要介绍:SQL Server的多表查询技术,即在一个查询中涉及到多个表的处理。 多表查询技术: 连接查询:在FROM子句中,指定连接的表。在WHERE子句中,指定连接的条件。由此实现多表连接查询。 自然连接 自[身]连接 外连接 子查询:一个查询的结果是另一个查询的条件。 子查询 相关子查询 6.1 SELECT 高级查询 1. 表的连接查询(自然连接) 涉及两个以上不同表的查询,连接条件为表之间相匹配列的等值条件,连接条件的个数至少是连接表的个数减1。 连接查询(自然连接) 例6.2 查询所有学生的sno、cname和grade列。 SELECT x.sno, cname, grade FROM score x,course y WHERE x.cno=y.cno 注意:当输出的列涉及多个表时必须使用连接查询。 例6.3 查询“计算机”系所选课程的平均分。 SELECT cno,AVG(grade) AS 平均分 FROM student x,score y WHERE x.sno=y.sno and dept=‘计算机 GROUP BY cno 连接查询(自然连接) 例6.4 查询‘王丽’同学的选课情况,显示姓名、课程号、成绩。 方法1: SELECT cno, sname, grade FROM score x,student y WHERE x.sno=y.sno and sname=’王丽’ 方法2:内连接(INNER JOIN) SELECT cno, sname, grade FROM student INNER JOIN score on (student.sno=score.sno) WHERE sname=‘王丽 连接查询(自身连接) 2. 表的连接查询(自身连接) 涉及同一个表的连接查询。 例6.5 查询选学“c3”课程的成绩高于“9503301”号学生成绩的所有学生记录,并按成绩从高到低排列。 SELECT x.cno,x.sno,x.grade FROM score x ,score y WHERE x.cno=‘c3 and x.gradey.grade and y.sno=‘9503301 and y.cno=‘c3 ORDER BY x.grade DESC 连接查询(自身连接) 例6.6 查询与“9802109”号学生同龄的学生信息 方法1: SELECT y.sname, x.sname, year(x.birthday) FROM student x,student y WHERE x.sno=‘9503301 and x.snoy.sno and yera(y.birthday)=year(x.birthday) 方法2:内连接(INNER JOIN) SELECT y.sname, year(x.birthday) FROM student x INNER JOIN student y on (yera(y.birthday)=year(x.birthday)) WHERE x.sno=‘9503301 and x.snoy.sno 连接查询(外连接) 3. 外连接 主表与非主表进行外连接,返回连接的数据表中所有匹配的行和主表中的不匹配的行,对应的非主表属性上填NULL值。 外连接类型 (1) 左外连接(LEFT JOIN):左侧的表为主表 (2) 右外连接(RIGHT JOIN):右侧的表为主表 (3) 完全外连接(FULL JOIN):左侧和右侧的表均为 主表 连接查询(外连接) 连接查询(外连接) 连接查询(外连接) 例6.8 查询各课程的任课教师姓名,以及没人讲授的课程。 SELECT course.cname,teacher.tname FROM course LEFT JOIN teacher ON(course.tno=teacher.tno) 连接查询(外连接) 例6.9 查询各课程的任课教师姓名,没有承担课程的教师。 SELECT course.cname,teacher.tname FROM course RIGHT JOIN teach
您可能关注的文档
- [教育]小波分析.ppt
- [教育]工程力学——静力学.ppt
- [教育]工作中的压力与情绪管理.ppt
- [教育]工程经济学课件5.ppt
- [教育]工程招投标与合同管理.ppt
- [教育]工程造价案例分析课件.ppt
- [教育]应用写作练习题.ppt
- [教育]广告的主体与客体.ppt
- [教育]岩相古地理编图.ppt
- [教育]微分模型与稳定性分析.ppt
- 温州乐成寄宿中学2023年高三第二次模拟考试语文试卷含解析.doc
- 湖南省浏阳市第二中学2022-2023学年高三第一次调研测试语文试卷含解析.doc
- 甘肃省张掖市高台县重点名校2024年中考一模英语试题含答案.doc
- 甘肃省会宁县第四中学2024届高三下学期第六次检测语文试卷含解析.doc
- 滁州市重点中学2024届高三第四次模拟考试语文试卷含解析.doc
- 福建省福州市仓山区福建师范大学附属中学2023届高考冲刺模拟英语试题含解析.doc
- 福建省平和县一中2022-2023学年高考压轴卷语文试卷含解析.doc
- 湖南省长沙市一中、湖南师大附中2023年高三英语第一学期期末学业质量监测模拟试题含解析.doc
- 监狱警察职业道德培训课件.pptx
- 福建省漳州市平和一中、南靖一中等五校2023年高三第六次模拟考试语文试卷含解析.doc
文档评论(0)