简单数据查询SQL课件.pptx

上传人(卖家):三亚风情 文档编号:3400154 上传时间:2022-08-27 格式:PPTX 页数:18 大小:75.57KB
下载 相关 举报
简单数据查询SQL课件.pptx_第1页
第1页 / 共18页
简单数据查询SQL课件.pptx_第2页
第2页 / 共18页
简单数据查询SQL课件.pptx_第3页
第3页 / 共18页
简单数据查询SQL课件.pptx_第4页
第4页 / 共18页
简单数据查询SQL课件.pptx_第5页
第5页 / 共18页
点击查看更多>>
资源描述

1、简单数据查询/数据库结构 学生表:Student(Sno,Sname,Ssex,birthday,class)课程表:Course(Cno,Cname,Cpno,Ccredit,tno)学生选课表:SC(Sno,Cno,Grade)教师表:Teacher(tno,name,sex,prof,depart,salary)/查询概述查询是建立数据库最为重要的目的,也是SQL最为广泛和复杂的应用。查询的类型概括来说可以包括下面的类型:1.单表查询可以包含:按列查询、查询经过计算的值、消除取值重复的行、条件查询、对查询结果排序、使用集函数、对查询结果分组2.连接查询等值与非等值连接查询、自身连接、复合

2、条件连接3.嵌套查询带有IN谓词的子句查询、带有比较运算符的子查询4.集合查询查询的一般格式为:SELECT ALL|DISTINCT ,FROM ,WHEREGROUP BY HAVINGORDER BY ASC|DESC;Select子句指定要显示的列,from子句列出查询的对象表,where为查询的条件,group by表示分组,order by表示排序。/1、单表查询 例例1:查询指定列:查询指定列SELECT Sno,Sname FROM Student 例例2:查询全部列:查询全部列SELECT*FROM Student例例3:给出所有老师的姓名、所纳税额及税:给出所有老师的姓名、

3、所纳税额及税后工资额后工资额select TNAME,Salary*0.05 as 纳税,Salary*0.95 as 实际收入 from teacher练习:查询每个学生的姓名和年龄(tips:GetDate()可以获取当前日期)/1、单表查询 例四:使用例四:使用distinct消除重复行消除重复行select distinct class from student 例五:条件查询例五:条件查询查查95033班全体学生的名单班全体学生的名单select Sname FROM Student WHERE class=95033练习:查所有年龄在查所有年龄在20岁以下的学生姓名及其年龄岁以下的

4、学生姓名及其年龄/1、单表查询 例六:确定范围的查询例六:确定范围的查询Between.and:是判断表达式的值是否在某范围内,其确定的是查询的集合范围练习:查询年龄在练习:查询年龄在20至至23岁之间的学生的姓名、系别、和年岁之间的学生的姓名、系别、和年龄龄举一反三:查询年龄不在举一反三:查询年龄不在20至至23岁之间的学生姓名、系别和岁之间的学生姓名、系别和年龄年龄/1、单表查询 例七:确定集合的条件查询例七:确定集合的条件查询判断表达式的值是否在子查询的结果中,关键词为in或者no in练习:1、查询查询95031和和95033班级的学生班级的学生2、查询非查询非95031班级的学生班级

5、的学生/1、单表查询 例八:字符匹配的条件查询例八:字符匹配的条件查询字符串匹配使用的谓词为LIKE,其一般语法格式为:NOT LIKE ESCAPE。使用like关键词的含义是查找指定的属性列值与相匹配的元组,可以是一个完整的字符串,也可以含有通配符%和_。通配符含义为:“%”:匹配零个或多个字符;“”:匹配任意单个字符;Escape:定义转义字符,以去掉特殊字符的特定含义,使其被作为普通字符看待。如escape“”,定义 作为转义字符,则可用%去匹配%,用去匹配。查找姓刘的学生的姓名查找姓刘的学生的姓名,年龄年龄,性别性别SELECT Sname,Sno,Ssex FROM Student

6、 WHERE Sname LIKE 刘%/1、单表查询练习:1、查询课程名称以查询课程名称以”db_”开头的所有课程情况开头的所有课程情况2、查询课程名称以、查询课程名称以”db_”开头,且倒数第开头,且倒数第3 个字符为个字符为I的课程的课程 和详细情况和详细情况/1、单表查询 例九:涉及空值的条件查询例九:涉及空值的条件查询 空值意味着不知道,没有的意思。SQL中的关键字是is not null练习:练习:1、查缺少成绩的学生的学号和相应的课程号、查缺少成绩的学生的学号和相应的课程号2、查所有有成绩的记录的学生学号和课程号、查所有有成绩的记录的学生学号和课程号/1、单表查询 选取前选取前N

7、行的数据行的数据 Top n 查询薪酬排名前查询薪酬排名前3名的教师名的教师 select top 3*from teacher order by salary/1、单表查询 多重条件查询多重条件查询 And OrNot 练习:练习:1、查、查95031班年龄在班年龄在20岁以下的学生姓名岁以下的学生姓名2、查询、查询95031班或者班或者95033班的学生姓名及性别班的学生姓名及性别/1、单表查询 对查询结果排序对查询结果排序 Order by desc/asc 练习:练习:1、查询选修了课程查询选修了课程166号的学生学号及成绩,并按成绩号的学生学号及成绩,并按成绩 升序排列升序排列/1、

8、单表查询 使用聚集函数使用聚集函数 聚集函数是SQL中规定好的处理集合数据算术运算的函数,主要包括以下几个:COUNT(DISTINCT|ALL*)统计元组个数 COUNT(DISTINCT|ALL)统计一列中值的个数SUM(DISTINCT|ALL)计算一列值的总和AVG(DISTINCT|ALL)计算一列值的平均值MAX(DISTINCT|ALL)求一列值中的最大值MIN(DISTINCT|ALL)求一列值中的最小值/1、单表查询 聚集函数使用示例聚集函数使用示例1、查询学生总人数、查询学生总人数 SELECT COUNT(*)FROM Student2、计算计算1号课程的学生平均成绩号课

9、程的学生平均成绩 SELECT AVG(Grade)FROM SC WHERE Cno=1663、列出每门课程的平均成绩列出每门课程的平均成绩 SELECT AVG(G)FROM SC group by cno/2、连接查询 查询查询student表和表和sc表所有数据信息表所有数据信息 SELECT Student.*,Sc.*FROM Student,SC WHERE Student.Sno=SC.Sno;/关系数据库的内外关系连接关系数据库的内外关系连接(1)内链接Select 属性项目信息 From table A(Inner)join table B -注意:这里的inner可以省略

10、。On A.column=B.columnWhere 查询条件练习:1、查询计算机导论课程成绩高于90分的同学学号2、查询成绩低于80分的学生情况/关系数据库的内外关系连接关系数据库的内外关系连接(2)外链接在某些情况下,我们查询的集合不仅仅是两张基本表的交集部分(如图1-43所示),而且期望将没有处于交集部分的数据信息也查询出来,这就必须用到外连接。外连接不仅仅会将两个数据集中相互重叠的属性涉及的元组抽出,而且会将重叠部分以外非匹配的那些元组一并纳入到集合中来。外连接又分为左外连接(left outer join)和右外连接(right outer join),其基本的语法格式如下所示:Select 需要查询的属性项 From table1Left/right(outer)join table2On table1.column=table2.columnWhere.具体的条件/

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(简单数据查询SQL课件.pptx)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|