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

    数据库查询2学习.pptx

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

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

    数据库查询2学习.pptx

    查询语句的基本结构Select from where group by having order by 第1页/共65页简单查询查询所有学生的学号与姓名Select sno,sn from S第2页/共65页简单查询查询所有学生的记录Select *from S第3页/共65页 查询经过计算的列查询全体学生的姓名及其出生年份 select sn,2010-age from S第4页/共65页 给经过计算的列加上列名查询全体学生的姓名及其出生年份 Select sn AS 姓名,2010-age AS 年份 from S第5页/共65页条件查询查询在选课表SC中有哪些学生选修了课程,并列出学生的学号 select sno from sc第6页/共65页 消除相同的元组查询在选课表SC中有哪些学生选修了课程,并列出学生的学号 SELECT DISTINCT sno FROM SC第7页/共65页 查询满足条件的元组WHERE 子语句常用的查询条件(1)算术操作符+(加号)、(减号)、*(乘号)和 /(除号)。(2)比较操作符=(等于)、(大于)、(小于)、=(大于等于)、!=!=(不等于)、(小于大于)、!(不大于)和 !85第11页/共65页 确定范围查询年龄在18-21岁之间的学生的姓名,所在系和年龄。SELECT SN,DEPT,AGE FROM S WHERE AGE BETWEEN 18 AND 21 (WHERE AGE=18 AND AGE=21)第12页/共65页确定范围查询年龄不在18-21岁之间的学生的姓名,所在系和年龄。SELECT SN,DEPT,AGE FROM S WHERE AGE NOT BETWEEN 18 AND 21 (WHERE AGE21)第13页/共65页 确定集合查询信息系,数学系和计算机系的学生姓名和性别 SELECT SN,SEX FROM S WHERE DEPT IN(信息系,数学系,计算机系)(where dept=信息系 or dept=数学系 or dept=计算机系)第14页/共65页 确定集合查询信息系,数学系和计算机系的学生姓名和性别 SELECT SN,SEX FROM S WHERE DEPT NOT IN(信息系,数学系,计算机系)(where dept!=信息系 AND dept!=数学系 AND dept!=计算机系)第15页/共65页 字符匹配查询查询姓“张”同学的详细信息 SELECT *FROM S WHERE SN LIKE 张%第16页/共65页 字符匹配查询查询姓名第二字是“德”同学的姓名和学号 SELECT SN,SNO FROM S WHERE SN LIKE _德%第17页/共65页 空值查询查询无考试成绩的学生的学号和相对应的课程号SELECT SNO,CNO FROM SC WHERE SCORE IS NULL第18页/共65页 空值查询查询参加考试成绩的学生的学号和相对应的课程号SELECT SNO,CNO FROM SC WHERE SCORE IS NOT NULL第19页/共65页 多重条件查询查询选修了C01 或C02且分数大于等于85 分学生的学号、课程号和成绩 SELECT SNO,CNO,SCORE FROM SC WHERE (CNO=C01 OR CNO=C02)AND SCORE=85第20页/共65页Group by 子语句Group by子语句将查询结果按照某一列或是多列的值分组,值相等的为一组。分组查询 第21页/共65页分组查询统计每门课程的选课人数,列出课程号和人数 select cno as 课程号,count(sno)as 选课人数 from sc group by cno第22页/共65页ORDER BY 子语句ORDER BY子语句对查询结果按照一个或多个属性列的升序(ASC)或降序(DESC)排列,缺省值为升序。结果排序第23页/共65页对结果进行排序查询选修3课程的学生的学号和成绩,并按照成绩的降序排序 select sno,score from sc where cno=3 order by score desc第24页/共65页对结果进行排序查询全体学生情况,查询结果按所在系的系号升序排列,同一系中的学生按年龄降序排列.select*from s order by dept,age desc第25页/共65页使用TOP子句显示前面的有限条记录查询成绩前5名的学生的学号Select top 5 sno from sc order by score第26页/共65页常用的计算函数及其功能函数名函数名使用格式使用格式功能功能COUNTCOUNT(*)统计表中元组的个数,不消除统计表中元组的个数,不消除重复行,不允许使用重复行,不允许使用distinct关键字关键字COUNTCOUNT()统计本列值的个数统计本列值的个数SUMSUM()按列计算值的总和(数值型的按列计算值的总和(数值型的列)列)AVGAVG()按列求平均值按列求平均值MAXMAX()求一列中的最大值求一列中的最大值MINMIN()求一列中的最小值求一列中的最小值第27页/共65页 利用函数统计汇总查询查询学生总人数 SELECT COUNT(*)FROM S 第28页/共65页查询选修了3门以上的学生学号Select sno from sc group by sno having count(*)3第29页/共65页 利用函数统计汇总查询查询学号为 S01的学生的总分和平均分 SELECT SUM(SCORE)AS 总分,AVG(SCORE)AS 平均分 FROM SC WHERE SNO=S01第30页/共65页 利用函数统计汇总查询求选修C01号课程的最高分,最低分,以及相差的分数 SELECT MAX(SCORE)AS 最高分,MIN(SCORE)AS 最低分,MAX(SCORE)-MIN(SCORE)AS 相差分数 FROM SC WHERE CNO=C01 第31页/共65页思考查询年龄最大的学生的姓名Select sn from sWhere age=max(age)代码错误!正确代码?第32页/共65页连接查询当查询涉及到两个及两个以上的表,称之为连接查询。内连接 外连接 左外连接 右外连接 全外连接第33页/共65页内连接 内连接也叫连接,被称为普通连接或自然连接。内连接是从结果中删除其他被连接表中没有匹配行的所有行,所以内连接可能会丢失信息。第34页/共65页S表SC表snosn1a2b3c4dsnocno11121321223132内连接第35页/共65页s.snosnsc.snocno1A111a121a132b212b223c313c32第36页/共65页外连接外连接则扩充了内连接的功能,会把内连接中删除表源中的一些保留下来,由于保留下来的行不同,把外连接分为左外连接、右外连接和全外连接这3种连接。第37页/共65页左外连接左外连接保留了第一个表的所有行,但只包含第二个表与第一表匹配的行。第二个表相应的空行被放入NULL值。第38页/共65页ABCa1b12a2b24a2b36a2b48BDb15b26b37b38RS第39页/共65页AR.BCS.BDa1b12b15a1b24b26a2b36b37a2b36b38a2b48nullnull左外连接第40页/共65页右外连接右外连接保留了第二个表的所有行,但只包含第一个表与第二个表匹配的行。第一个表相应空行被入NULL值。第41页/共65页ABCa1b12a2b24a2b36a2b48BDb15b26b37b38b53RS第42页/共65页AR.BCS.BDa1b12b15a1b24b26a2b36b37a2b36b38nullnullnullb53右外连接第43页/共65页全外连接全外连接会把两个表所有的行都显示在结果表中。第44页/共65页ABCa1b12a2b24a2b36a2b48BDb15b26b37b38b53RS第45页/共65页AR.BCS.BDa1b12b15a1b24b26a2b36b37a2b36b38a2b48nullNullnullnullnullb53全外连接第46页/共65页内连接两个表的关键字满足连接条件,则从两个表中提取数据并组合成新的记录Select 列名from 表1 (inner)jion 表2 on 连接条件(Select 列名 from 表1,表2 where 连接条件)第47页/共65页外连接两个表的关键字满足连接条件,则从两个表中提取数据并组合成新的记录Select 列名from 表1 left/right/full jion 表2 on 连接条件第48页/共65页 内连接查询选修课程号为3的学生的姓名 select sn from s join sc on s.sno=sc.sno and cno=3(select sn from s,sc where s.sno=sc.sno and cno=3)第49页/共65页内连接查询每个学生的情况以及选修课的情况Select*from sc jion s on s.sno=sc.sco(Select*from sc,s where s.sno=sc.sco)第50页/共65页去掉重复的列 -自然连接查询每个学生的情况以及选修课的情况Select s.sno,s,age,dept,cno,score from sc jion s on s.sno=sc.sco(Select s.sno,s,age,dept,cno,score from sc,s where s.sno=sc.sco)第51页/共65页复合条件查询查询选修2号课程且成绩在90分以上的所有学生的学号和姓名Select sno,snFrom s,sc where s.sno=sc.sno and cno=2 and score=90第52页/共65页多表查询Select sno,sn,cn,score from s,sc,c where s.sno=sc.sno and o=o and dept=1查询1系中每个学生的学号,姓名,选修课的课程名及成绩第53页/共65页 查询与“张三”在同一个系学习的学生Select sno,sn,deptFrom sWhere dept=(Select dept from s Where sn=张三 )嵌套查询第54页/共65页 嵌套查询查询选修了“数据库”课程的学生的学号和姓名Select sno,snFrom sWhere sno=(Select sno from sc Where cno=(Select cno from c Where cn=数据库 )第55页/共65页查询选修了1号课程且成绩大于此课程平均成绩的学生的学号和成绩Select sno,cno from sc where cno=1 and score (select avg(score)from sc where cno=1 )第56页/共65页 带有ANY 或ALL谓词的子查询查询其他系中比1系某一学生小的学生姓名和年龄Select sn,age from s where ageany(select age from s where dept=1 )and dept1第57页/共65页 带有ANY 或ALL谓词的子查询查询其他系中比1系所有学生都小的学生姓名和年龄Select sn,age from s where ageall(select age from s where dept=1 )and dept1第58页/共65页 带有ANY 或ALL谓词的子查询查询其他系中比1系所有学生都小的学生姓名和年龄Select sn,age from s where age(select min(age)from s where dept=1 )and dept1第59页/共65页EXISTS表示存在的量词,带有EXISTS的子查询不返回任何实际数据,它只得到逻辑值“真”或“假”。当子查询的查询结果为空时,外层的where 子句返回true值,否则返回false带有EXISTS谓词的子查询第60页/共65页 带有EXISTS谓词的子查询查询选修了(没有)1号课程的学生的姓名 select sn from s where(not)exists(select*from sc where s.sno=sc.sno and cno=1 )第61页/共65页 带有EXISTS谓词的子查询由EXISTS引出的子查询,其目标列表达式通常用*,因为带EXISTS的子查询只返回真值(true)或者假值(false)第62页/共65页 合并查询查询学号为1号学生的学号和总分,再查询出学号为2号学生的学号和总分,将两个结果合并成一个结果集 select sno as学号,sum(score)as 总分 from sc where sno=1 unionselect sno as学号,sum(score)as 总分 from sc where sno=2第63页/共65页 将结果存储到表中Select.into 表名.查询选修1号课程的学生的姓名,并将结果存储在“查询结果”表中。select sn as 姓名 into 查询结果 from s,sc where s.sno=sc.sno and cno=1 第64页/共65页感谢您的观看!第65页/共65页

    注意事项

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

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




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

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

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

    收起
    展开