版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、艾,南京大学计算机科学与技术系,第1章,第6节,关系数据库管理系统中的数据操作及相关的SQL语句,6.1 RDBMS数据操作功能介绍,1查询功能查询一般应具备以下功能:(1)单个表的查询功能可以根据指定的列和行条件查询表中的最小粒度。(2)多表查询功能通过表之间的相关性指定一个表的已知条件来查找其他表的元组或属性。(3)单表自关联查询是通过单表中某些列的关联实现的单表嵌套查询。(4)查询组合查询可以将多个查询组合成一个查询。艾凯文,南京大学计算机科学与技术系2,RDBMS数据操作功能,2添加,删除和修改功能(1)定位和添加操作定位是:表。删除操作定位为表和元组。修改操作定位为表和元组。(2)该
2、操作添加添加的元组,并在不给出数据的情况下执行删除操作,但仅执行该操作。修改操作给出了要修改的数据需求并实现了它。艾凯文,南京大学计算机科学与技术系3,RDBMS数据处理功能,其他3个功能(1)赋值功能。在数据操作过程中产生的一些中间结果和需要永久保留的结果必须以新关系的形式存储在数据库中,因此这些新关系必须被命名和赋值,并且被赋值的关系将来可以被数据库中的用户使用。(2)计算功能。数据处理需要一些计算功能:简单的四个操作、统计功能、分类功能(3)输入/输出功能。关系数据库管理系统通常提供标准的数据输入和输出功能。艾,南京大学计算机科学与技术系。查询的基本要求可以用关系代数表示如下:r1,r2
3、,rmF(R1 R2 Rn)这个公式有三个基本参数,它们是:查询的目标属性:R1,R2,RM;查询涉及的关系:R1,R2,rn;查询的逻辑条件:F.6.2SQL的操纵函数,艾,南京大学计算机科学与技术系,5。这三个参数可以用SQL中基本语句的三个子句(SELECT、FROM和WHERE)来表示,其中SELECT子句给出查询的目标属性,FROM子句给出查询中涉及的关系,WHERE子句给出查询的逻辑条件。它们可以用以下形式表示:SELECT(列名)、FROM(基表名)、WHERE(逻辑条件)、ai凯文6、SQL数据查询函数、映射语句、Ai凯文7、FROM表名、表名.SQL数据操作函数,映射语句每个
4、子句的执行顺序,其中search _ condition,group by colname,colname.按列名分组,列名.具有组条件,选择* |列名,列名.订单编号:DESC,DESC.艾,南京大学计算机科学与技术系,8,6.2.1 SQL查询函数,图像语句的合成目标子句:SELECT * | colname,colname.定义结果关系所需的属性,目标子句的构造模式给出的结果属性的属性名可以用表名和属性名的方式表示,表中的哪个属性可以重命名为*而不是表中的所有属性,保留字distinct(unique)可以用来消除结果关系中的重复元组。艾,南京大学计算机科学与技术系,9,6.2.1查询函
5、数的SQL,映射语句的组成(续。)范围子句:FROM tablename,tablename.指定操作对象(被访问的关系)可以在FROM子句中重命名关系(即定义一个别名),这主要用于关系本身的连接操作,并且SELECT子句和FROM子句是映射语句中不可缺少的两个组件。艾,南京大学计算机科学与技术系,10,6.2.1 SQL查询函数,映射语句的组合(续)。)条件子句:WHERE search _ condition是映射语句的可选组件,用于定义查询条件(即结果关系中的元组必须满足的条件),包括单个关系中的元组选择条件和关系之间的连接条件,这些条件需要通过WHERE子句中的某些逻辑表达式来明确表达
6、。FROM子句中给出的关系只表明该查询需要访问这些关系,它们通过笛卡尔乘积运算进行合并。如果您需要在它们之间执行连接或自然连接操作,您需要在WHERE子句中显式给出它们的连接条件。南京大学计算机科学与技术系艾11,6.2.1 SQL的查询功能及映射语句的构成(续)。)除了一些常见的算术比较运算符之外,还在SQL中引入了一些其他的比较谓词,以扩展WHERE子句的表达能力。谓词在预测表达式中不在(子查询)量化比较预测表达式某些|任何|全部(子查询),艾,南京大学计算机科学与技术系,6.2.1。)where子句中的谓词(续。)存在预测不存在(子查询)预测表达式之间不存在表达式1和表达式2之间为空预测
7、列不为空,艾13,6.2.1 SQL查询函数,南京大学计算机科学与技术系,映射语句组合(续。)where子句中的谓词(续。)类似预测列不像val1转义符val2模式):val 1下划线(_) :任何单个字符百分比(%) :任何零个或多个字符的序列其他:代表它们转义符:val2转义符val 2之后紧接着的_或%不再是通配符,而是其本身。,艾,南京大学计算机科学与技术系,14,6.2.1 SQL查询函数,一个SQL查询函数的例子S(S,Sn,Sa,Sd) C(C,Cn,P) SC(S,C,G),艾,南京大学计算机科学与技术系,15,6.2.1 SQL查询函数,【答案2】SELECT * FROM
8、S;例2:查询20岁以上所有学生的姓名和学号选择序号,从序号中选择序号,其中Sa20例3:查询所有参加过课程的学生人数,选择不同的学生;南京大学计算机科学与技术系艾16,6.2.1 SQL查询功能示例4:查询18-21岁学生的姓名和年龄示例5:查询18-21岁学生的姓名和年龄,从s中选择sn、sa,其中sa在18-21岁之间;从硫中选择锡、硫,其中硫不在18和21之间;南京大学计算机科学与技术系艾17,6.2.1 SQL的查询功能,例6:查询姓名以A开头的学生的姓名和系,选择Sn,Sd从S开始,其中Sn像A;例7:查询姓名以a开头、第三个字符为p的学生的姓名和系,从s中选择sn、SD为系,其中
9、sn为a _ p;南京大学计算机科学与技术系艾18,6.2.1 SQL的查询功能,例8:查询无课程成绩的学号和课程号,选择S#,C#从SC,其中G为空;艾,南京大学计算机科学与技术系,19,6.2.1 SQL查询函数,2多表连接查询,例9:查询所有学号为的学生的姓名,从s中选择s.sn,其中sc.s #=s.s #和sc . c #=C1;例10:查询所有参加数据库课程的学生的姓名,从s、sc、c中选择s.sn,其中s.s #=sc.s #和sc.c #=c.c #和C.Cn=数据库;南京大学计算机科学与技术系人工智能凯文20,6.2.1 SQL的查询功能,示例13:查询至少一门由S5选修的课
10、程的学号,首先从选修(SC)关系中找出由S5选修的课程的课程号,然后使用这些课程号找出哪些学生已经选修了该课程。因此,这是一个表自身连接的查询,相同的表名需要在FROM子句中出现两次。为了区分它们,必须至少重命名其中一个(SC)。选择SC1。S#来自SC1 SC2 SC1。C#=SC2。C#和SC2。S #=S5,艾,南京大学计算机科学与技术系,21,表连接,内部连接,内部连接,只从叉积返回满足连接条件的行。如果某一行存在于一个表中,但不存在于另一个表中,则该行不会包含在结果集中。内部联接可以通过使用FROM子句中的自然联接运算符来实现。艾,南京大学计算机科学与技术系,22,外连接,外连接返回
11、由内连接操作生成的行和不能由内连接操作返回的行。外部联接有三种类型:左外部联接包括内部联接,左表中的那些行不通过内部联接返回。在FROM子句中使用了左外部联接(或左联接)运算符。右联接包括内部联接和右表中不由内部联接返回的那些行。这种连接在FROM子句中使用右外连接(或右连接)运算符。所有外部联接都包括内部联接以及左表和右表中内部联接不返回的那些行。这种类型的联接在FROM子句中使用了OUTER JOIN运算符。在ORACLE中,外部联接可以通过在WHERE子句中使用: ()来使用,例如,表A和表B的左联接是A.FIELD1()=B.FIELD1,右联接是A.FIELD1=B.FIELD1()
12、。,艾,南京大学计算机科学与技术系,23,表:T1,表:从表1中选择*自然连接表2在c11上=C21,艾,南京大学计算机科学与技术系,25,从表1中选择*右外连接表2在c11上=c21,艾,南京大学计算机科学与技术系,26,从表1中选择*左外连接表2在C11上=c21,艾, 南京大学计算机科学与技术系,南京大学计算机科学与技术系,艾28,27,从选项卡1外部连接选项卡2 onc11=c21中选择*。 自联接可以看作是一个表的两个副本之间的联接操作。示例:查询工资超过2000的所有员工的姓名及其经理的姓名。SQL选择first.ename,second.ename,first.sal from emp first,emp second其中first.sal 2000和first.deptno=second.deptno和second.job=MANAGER结果是:ename ename sal-Clark 2450 king Clark 5000 Jones 2975 3000 3000 bl BLAKE 2850,Ai的查询函数29,6.2.1 SQL,南京大学计算机科学与技术系,3嵌套查询在图像语句的子句中嵌入另一个图像语句嵌入图像语句嵌入的图像语
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 新员工5S管理与TPM教育及入厂基础教育
- 沃尔玛入驻正恒国际广场签约仪式活动策划方案
- 2026年报刊分拣员职业技能等级认定(二级)理论知识模拟试题
- 建材行业油漆车间工艺流程
- (2026版)实习律师工作总结
- 新北师大版小学二年级下数学课件:第1单元分草莓
- 现代机械设计理论与方法
- 泌尿、男生殖系外科疾病的临床表现及检查娄庆
- 桥梁混凝土强度检测方案
- 水生态环境监测网络建设项目可行性研究报告
- 2025年公司主要负责人安全培训考试试题及答案(有一套)
- 河南警察学院引进高层次人才考核办法(试行)
- 医院审方中心工作制度
- 2026年中铝集团校园招聘笔试
- 专科医生如何带教全科医生课件
- 2026年春岭南版(新教材)小学美术二年级下册教学计划及进度表
- 雨课堂学堂在线学堂云《Age of Sustainable Development(SDG Academy)》单元测试考核答案
- 人保财险理赔培训
- 教育培训机构招生销售人员面试问题集
- 雕塑总体施工方案(3篇)
- 生物安全上岗证培训课件
评论
0/150
提交评论