欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    数据库查询学习.pptx

    • 资源ID:87380634       资源大小:157.60KB        全文页数:25页
    • 资源格式: PPTX        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    数据库查询学习.pptx

    25 三月 202316.1 SELECT语句的简单查询【例6-1】从作者表中找到每位作者姓名和住宅电话。USE book_manage SELECT 姓名,住宅电话 FROM 作者表【例6-2】从“作者表”中找到姓为“李”的作者姓名和住宅电话。USE book_manage SELECT 姓名,住宅电话 FROM 作者表 WHERE 姓名 LIKE 李%第1页/共25页25 三月 20232【例6-3】从“作者表”中找到住宅电话区号为“010”的作者编号、姓名和住宅电话。USE book_manage SELECT 作者编号,姓名,住宅电话 FROM 作者表 WHERE 住宅电话 LIKE 010%第2页/共25页25 三月 202336.2 T-SQL高级查询6.2.1 多表查询 连接查询:通过每个表之间共同列的关联性来查询数据,它是关系数据库查询最主要的特征。连接查询分为内连接查询、外连接查询、自连接查询。合并查询:使用UNION操作符的查询,是求两个或多个查询结果的并集。第3页/共25页25 三月 202341连接查询【例6-4】查找成绩为90分或以上的学生姓名、课程号和成绩。USE Students SELECT Student.SName,SC.CNo,SC.Grade FROM Student JOIN SC ON(Student.SNo=SC.SNo)WHERE Grade=90第4页/共25页25 三月 20235连接类型 内连接(INNER):仅显示两个连接表中匹配的行,INNER关键字可以缺省。【例6-5】查找选修了课程的学生姓名。USE students SELECT DISTINCT S.SName FROM Student AS S INNER JOIN SC AS G ON(S.SNo=G.SNo)第5页/共25页25 三月 20236外连接(OUTER):连接双方有左右之分,“表1”称为“左”表,表2称为“右”表。用左表的每行数据去匹配右表的数据列,符合连接条件的数据返回到结果集中,不符合连接条件的列将被填上NULL 值再返回到结果集中。左外连接(Left Outer)右外连接(Right Outer)完全外连接(Full Outer)第6页/共25页25 三月 20237左外连接:结果集中包括“左”表中的所有行及“右”表中所有匹配的行,不包括“右”表中不匹配的行。【例6-6】查看所有学生姓名及其选课情况(课程号)。USE students SELECT S.SName,G.CNo FROM Student AS S LEFT OUTER JOIN SC AS G ON(S.SNo=G.SNo)第7页/共25页25 三月 20238右外连接:包括“右”表中的所有行及“左”表中所有匹配的行,不包括“左”表中不匹配的行。【例6-7】查找所有选修了课程的学生姓名。USE students SELECT DISTINCT S.SName FROM Student AS S RIGHT OUTER JOIN SC AS G ON(S.SNo=G.SNo)第8页/共25页25 三月 20239完全外连接:包括所有连接表中的所有行,不论它们是否匹配。【例6-8】查看所有任课教师及课程情况。USE students SELECT T.TName,C.CName FROM Teachers AS T FULL OUTER JOIN Courses AS C ON(C.TNo=T.TNo)第9页/共25页25 三月 202310交叉连接(CROSS):即两个连接表的笛卡儿积,求两个表中所有行的连串,每个连串作为结果集中的一行。【例6-9】“教师基本信息”表与“课程基本信息”表的交叉连接。USE students SELECT T.TName,C.CName FROM Teachers AS T CROSS JOIN Courses AS C 第10页/共25页25 三月 202311自连接:连接双方可以是不同的两个表,也可以是同一个表。在一个表与其自身之间进行连接为自连接。自连接可以是内连接或外连接。【例6-10】求“数据库原理及应用”课程的间接先行课的课程号。USE students SELECT C1.CName,C2.PCNo FROM Courses AS C1 JOIN Courses AS C2 ON(C1.PCNo=C2.CNo)WHERE C1.CName=数据库原理及应用第11页/共25页25 三月 2023122合并查询【例6-11】求table1和table2中的内容。SELECT *FROM table1 UNION SELECT *FROM table2UNION操作符将两个或两个以上的查询结果合并为一个结果集,其语法格式如下:UNION ALL UNION ALL 第12页/共25页25 三月 2023136.2.2 分组查询 1GROUP BY子句【例6-12】求各职称级别教师的平均年龄。USE students SELECT 职称,AVG(Age)FROM Teachers WHERE Age=50 GROUP BY 职称第13页/共25页25 三月 202314GROUP BY子句的语法格式为:GROUP BY ALL ,n WITH CUBE|ROLLUP 【例6-13】求各职称级别教师的平均年龄。SELECT 职称,Sex,COUNT(*)AS 人数 FROM Teachers GROUP BY 职称,Sex WITH CUBE第14页/共25页25 三月 2023152HAVING 子句【例6-14】求平均成绩为80分或以上的学生的姓名及平均成绩。USE Students SELECT S.SName,AVG(G.Grade)AS 平均成绩 FROM SC AS G JOIN Student AS S ON(G.SNo=S.SNo)GROUP BY S.SName HAVING AVG(G.Grade)=80第15页/共25页25 三月 2023166.2.3 统计查询 1聚合函数【例6-16】求学生的平均成绩、最高分、最低分以及总分。USE students SELECT AVG(Grade)AS 平均成绩,MAX(Grade)AS 最高分,MIN(Grade)AS 最低分,SUM(Grade)AS 总分 FROM SC第16页/共25页25 三月 2023172.使用COMPUTE和COMPUTE BY子句【例6-18】求每名学生的所选课的门数、平均分和总分。USE students SELECT S.SName,COUNT(*)AS 课程门数,AVG(G.Grade)AS 平均分,SUM(G.Grade)AS 总分 FROM SC AS G JOIN Student AS S ON (G.Sno=S.SNo)GROUP BY S.Sname第17页/共25页25 三月 2023186.2.4 嵌套查询 1使用IN的嵌套查询 使用嵌套查询改写【例6-5】,查找选修了课程的学生姓名。USE students SELECT SName FROM Student WHERE SNo IN (SELECT DISTINCT SNo FROM SC)第18页/共25页25 三月 2023192使用比较运算符的嵌套查询【例6-28】查询没有选修课程的学生姓名。USE Students SELECT SName FROM Student WHERE SNo ALL (SELECT DISTINCT SNo FROM SC)第19页/共25页25 三月 2023203EXISTS嵌套查询 使用EXISTS的嵌套查询改写【例6-5】,查找选修了课程的学生姓名。USE Students SELECT SName FROM Student WHERE EXISTS (SELECT*FROM SC WHERE SNo=Student.SNo)第20页/共25页25 三月 202321改写【例6-28】,查询没有选修课程的学生姓名。USE Students SELECT SName FROM Student WHERE NOT EXISTS (SELECT *FROM SC WHERE SNo=Student.SNo)第21页/共25页25 三月 2023226.3 存储查询结果 6.3.1 将查询结果存储到新表中 SELECT语句的INTO子句可以将查询后所得的结果集存储到一个新表中。【例6-36】将找到的选修了课程的学生学号、姓名和性别存储到一个新表中。USE students SELECT SNo,SName,Sex INTO 学生名单 FROM Student WHERE EXISTS(SELECT *FROM SC WHERE SNo=Student.SNo)第22页/共25页25 三月 2023236.3.2 将查询结果添加到已有表中 用SELECT子查询也可以将查询所得的结果集添加到一个已有表中。【例6-37】为“书籍档案”表添加从“书籍资料”表中属于“数据库”的所有书籍的记录。USE bookmanage INSERT INTO 书籍档案 SELECT*FROM 书籍资料 WHERE 类别编号 IN(SELECT 类别编号 FROM 书籍类别 WHERE 书籍类型名称=数据库)第23页/共25页25 三月 2023246.3.3 对查询结果进行修改【例6-38】使用嵌套的子查询,将属于“数据库”类型的所有书籍的价格加价。UPDATE 书籍档案 SET 单价=单价*1.2 WHERE 类别编号 IN(SELECT 类别编号 FROM 书籍类别 WHERE 书籍类别.书籍类型名称=数据库)第24页/共25页25 三月 202325感谢您的观看。第25页/共25页

    注意事项

    本文(数据库查询学习.pptx)为本站会员(莉***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开