第3章关系数据库标准语言SQL3.ppt

上传人:b****2 文档编号:2121767 上传时间:2022-10-27 格式:PPT 页数:69 大小:604.50KB
下载 相关 举报
第3章关系数据库标准语言SQL3.ppt_第1页
第1页 / 共69页
第3章关系数据库标准语言SQL3.ppt_第2页
第2页 / 共69页
第3章关系数据库标准语言SQL3.ppt_第3页
第3页 / 共69页
第3章关系数据库标准语言SQL3.ppt_第4页
第4页 / 共69页
第3章关系数据库标准语言SQL3.ppt_第5页
第5页 / 共69页
点击查看更多>>
下载资源
资源描述

第3章关系数据库标准语言SQL3.ppt

《第3章关系数据库标准语言SQL3.ppt》由会员分享,可在线阅读,更多相关《第3章关系数据库标准语言SQL3.ppt(69页珍藏版)》请在冰豆网上搜索。

第3章关系数据库标准语言SQL3.ppt

中国人民大学信息学院中国人民大学信息学院数据库系统概论数据库系统概论AnIntroductiontoDatabaseSystem第三章第三章关系数据库标准语言关系数据库标准语言SQLSQL(续续2)AnIntroductiontoDatabaseSystem复习复习v查询查询连接查询连接查询一般格式:

一般格式:

.1.2等值连接等值连接例例查询每个学生及其选修课程的情况查询每个学生及其选修课程的情况SELECTStudent.*SELECTStudent.*,SC.*SC.*FROMStudentFROMStudent,SCSCWHEREStudent.Sno=SC.SnoWHEREStudent.Sno=SC.Sno;AnIntroductiontoDatabaseSystem复复习(续)v自身连接自身连接例例查查询询每每一一门门课课的的间间接接先先修修课课(即即先先修修课课的的先先修修课)课)SELECTFIRST.CnoSELECTFIRST.Cno,SECOND.CpnoSECOND.CpnoFROMCourseFROMCourseFIRSTFIRST,CourseCourseSECONDSECONDWHEREFIRST.Cpno=SECOND.CnoWHEREFIRST.Cpno=SECOND.Cno;AnIntroductiontoDatabaseSystem复复习(续)v外连接外连接例例查询每个学生及其选修课程的情况查询每个学生及其选修课程的情况SELECTStudent.SnoSELECTStudent.Sno,SnameSname,SsexSsex,SageSage,SdeptSdept,CnoCno,GradeGradeFROMStudentLEFTOUTJOINSCONFROMStudentLEFTOUTJOINSCON(Student.Sno=SC.Sno)(Student.Sno=SC.Sno);AnIntroductiontoDatabaseSystem复复习(续)v复合条件连接复合条件连接例例查询选修查询选修22号课程且成绩在号课程且成绩在9090分以上的所有学生分以上的所有学生的学号和名字。

的学号和名字。

SELECTStudent.Sno,SnameSELECTStudent.Sno,SnameFROMStudent,SCFROMStudent,SCWHEREStudent.Sno=SC.SnoANDWHEREStudent.Sno=SC.SnoANDSC.Cno=SC.Cno=22ANDSC.Grade90ANDSC.Grade90;AnIntroductiontoDatabaseSystem复复习(续)v查询查询嵌套查询嵌套查询v带有带有ININ谓词的子查询谓词的子查询例例3939查询与查询与“刘晨刘晨”在同一个系学习的学生。

在同一个系学习的学生。

SELECTSnoSELECTSno,SnameSname,SdeptSdeptFROMStudentFROMStudentWHERESdeptWHERESdeptININ(SELECTSdept(SELECTSdeptFROMStudentFROMStudentWHERESname=WHERESname=刘晨刘晨);AnIntroductiontoDatabaseSystem复复习(续)v带有比较运算符的子查询例例查询与查询与“刘晨刘晨”在同一个系学习的学生。

在同一个系学习的学生。

SELECTSnoSELECTSno,SnameSname,SdeptSdeptFROMStudentFROMStudentWHERESdept=WHERESdept=(SELECTSdept(SELECTSdeptFROMStudentFROMStudentWHERESname=WHERESname=刘晨刘晨)AnIntroductiontoDatabaseSystem复复习(续)v带有带有ANYANY(SOMESOME)或)或ALLALL谓词的子查询谓词的子查询例例4242查询其他系中比查询其他系中比CSCS系某系某一一学生年龄小的学生姓名和学生年龄小的学生姓名和年龄年龄SELECTSnameSELECTSname,SageSageFROMStudentFROMStudentWHERESageWHERESageANYANY(SELECTSage(SELECTSageFROMStudentFROMStudentWHERESdept=CS)WHERESdept=CS)ANDSdeptCSANDSdeptCSAnIntroductiontoDatabaseSystem复复习(续)v带有带有EXISTSEXISTS谓词的子查询谓词的子查询查询没有选修查询没有选修11号课程的学生姓名。

号课程的学生姓名。

SELECTSnameSELECTSnameFROMStudentFROMStudentWHERENOTEXISTSWHERENOTEXISTS(SELECT*(SELECT*FROMSCFROMSCWHERESno=Student.SnoANDCno=1)WHERESno=Student.SnoANDCno=1);AnIntroductiontoDatabaseSystem第三章第三章关系数据库标准语言关系数据库标准语言SQL3.1SQL3.1SQL概述概述3.23.2学生学生-课程数据库课程数据库3.33.3数据定义数据定义3.43.4数据查询数据查询3.53.5数据更新数据更新3.63.6视图视图AnIntroductiontoDatabaseSystem3.5数数据据更更新新3.5.13.5.1插入数据插入数据3.5.23.5.2修改数据修改数据3.5.33.5.3删除数据删除数据AnIntroductiontoDatabaseSystem3.5.1插入数据插入数据v两种插入数据方式两种插入数据方式1.1.插入元组插入元组2.2.插入子查询结果插入子查询结果可以一次插入多个元组可以一次插入多个元组AnIntroductiontoDatabaseSystem一、插入元组一、插入元组v语句格式语句格式INSERTINSERTINTOINTO(1,2)VALUES(VALUES(1,2)v功能功能n将新元组插入指定表中将新元组插入指定表中AnIntroductiontoDatabaseSystem插入元组(续)插入元组(续)vINTOINTO子句子句n属性列的顺序可与表定义中的顺序不一致属性列的顺序可与表定义中的顺序不一致n没有指定属性列没有指定属性列n指定部分属性列指定部分属性列vVALUESVALUES子句子句n提供的值必须与提供的值必须与INTOINTO子句匹配子句匹配值的个数值的个数值的类型值的类型AnIntroductiontoDatabaseSystem插入元组(续)插入元组(续)例例11将一个新学生元组(学号:

将一个新学生元组(学号:

200215128200215128;姓名:

陈;姓名:

陈冬;性别:

男;所在系:

冬;性别:

男;所在系:

ISIS;年龄:

;年龄:

1818岁)插入到岁)插入到StudentStudent表中。

表中。

INSERTINSERTINTOStudent(SnoINTOStudent(Sno,SnameSname,SsexSsex,SdeptSdept,Sage)Sage)VALUES(200215128VALUES(200215128,陈冬陈冬,男男,ISIS,18)18);AnIntroductiontoDatabaseSystem插入元组(续)插入元组(续)例例22将学生张成民的信息插入到将学生张成民的信息插入到StudentStudent表中。

表中。

INSERTINSERTINTOStudentINTOStudentVALUES(200215126VALUES(200215126,张成民张成民,男男,1818,CS);CS);AnIntroductiontoDatabaseSystem插入元组(续)插入元组(续)例例33插入一条选课记录插入一条选课记录(200215128(200215128,1)1)。

INSERTINSERTINTOSC(SnoINTOSC(Sno,Cno)Cno)VALUES(200215128VALUES(200215128,1)1);RDBMSRDBMS将在新插入记录的将在新插入记录的GradeGrade列上自动地赋空值。

列上自动地赋空值。

或者:

或者:

INSERTINSERTINTOSCINTOSCVALUES(200215128VALUES(200215128,11,NULL)NULL);AnIntroductiontoDatabaseSystem二、插入子查询结果二、插入子查询结果v语句格式语句格式INSERTINSERTINTOINTO(1,2)子查询;子查询;v功能功能将子查询结果插入指定表中将子查询结果插入指定表中AnIntroductiontoDatabaseSystem插入子查询结果(续)插入子查询结果(续)vINTOINTO子句子句(与插入元组类似与插入元组类似)v子查询子查询nSELECTSELECT子句目标列必须与子句目标列必须与INTOINTO子句匹配子句匹配值的个数值的个数值的类型值的类型AnIntroductiontoDatabaseSystem插入子查询结果(续)插入子查询结果(续)例例44在基本表在基本表SCSC中,把男学生的学号和平均成绩存入另一中,把男学生的学号和平均成绩存入另一个已存在的基本表个已存在的基本表MSCORE(sno,average)MSCORE(sno,average)中。

中。

INSERTINTOMSCORE(sno,average)INSERTINTOMSCORE(sno,average)SELECTsno,AVG(grade)SELECTsno,AVG(grade)FROMSCFROMSCWHEREsnoINWHEREsnoIN(SELECTsno(SELECTsnoFROMSFROMSWHEREsex=WHEREsex=男男)GROUPBYsnoGROUPBYsnoAnIntroductiontoDatabaseSystem插入子查询结果(续)插入子查询结果(续)例例55对每一个系,求学生的平均年龄,并把结果对每一个系,求学生的平均年龄,并把结果存入数据库。

存入数据库。

第一步:

建表第一步:

建表CREATETABLEDept_ageCREATETABLEDept_age(SdeptCHAR(15)(SdeptCHAR(15)/*/*系名系名*/*/Avg_ageSMALLINT)Avg_ageSMALLINT);/*/*学生平均年龄学生平均年龄*/*/AnIntroductiontoDatabaseSystem插入子查询结果(续)插入子查询结果(续)第二步:

插入数据第二步:

插入数据INSERTINSERTINTODept_age(SdeptINTODept_age(Sdept,Avg_age

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

当前位置:首页 > 考试认证 > IT认证

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1