预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共172页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第三章关系数据库标准查询语言SQL第三章关系数据库标准语言SQL个SQL标准为SQL-86。第二个SQL标准为SQL-89。第三个SQL标准为SQL-92。目前,正在推出SQL3。SQL已成为关系数据库领域中的一个主流语言。3.1.2SQL语言的基本概念3.2.1定义、删除与修改基本表Student例2:向student表中加入学时间列,类型为日期型。ALTERTABLEstudentADDSeDATE。例3:将年龄的数据类型改为半字长整数ALTERTABLEStudentMODIFYSageSMALLNT;例4:删除关于学号必须取唯一值的约束。ALTERTABLEStudentDROPUNIQUE(Sno);3.2.2.建立与删除索引3.3.查询3.3.1.单表查询3.查询经过计算的值:例4.查询全体学生的姓名及出生年份.SELECTSname,2008-SageFROMStudent;查询结果:Sname,2008-Sage李勇1986刘晨1987王名1988张立1988SELECTSnameNAME,‘YearofBirth:’BIRTH,2008-SageBIRTHDAY,ISLOWER(Sdept)DEPARTMENTFROMStudent;NAMEBIRTHBIRTHDAYDEPARTMENT李勇YearofBirth:1986cs刘晨YearofBirth:1987if王名YearofBirth:1988ma张立YearofBirth:1988if2).查询满足条件的元组:运算符包括:=,〉,〈,〉=,〈=,!=,〈〉。(1).比较大小例7.查计算机系全体学生的名单.SELECTSnameFROMStudentWHERESdept=‘CS’;例8.查询年龄在20岁以下的学生姓名及其年龄。SELECTSname,SageFROMStudentWHERESage<20;例11.查年龄不在20和23之间的学生的姓名,系别和年龄.SELECTSname,Sdept,SageFROMStudentWHERESageNOTBETWEEN20AND23;例13.查询不是信息系,数学系,也不是计算机系的学生的姓名和性别。SELECTSname,SsexFROMStudentWHERESdeptNOTIN(‘IS’,‘MA’,‘CS’);例14.查询学号为07001的学生详细情况SELECT*FROMStudentWHERESnoLIKE‘07001’;例15.查询所有刘姓的学生学号,姓名性别.SELECTSname,Sno,SsexFROMStudentWHERESnameLIKE‘刘%’;例18.查询所有非刘姓的学生学号,姓名性别.SELECTSname,Sno,SsexFROMStudentWHERESnameNOTLIKE‘刘%’;其执行结果为:CnoCnameCcredit8DB_Design410DB_Programing213DB_DBMSDesign4例22.查所有有成绩的学生的学号和相应的课程号.SELECTSno,CnoFROMSCWHEREGradeISNOTNULL;查询结果如下:Student表SC表snocnograde0700119207001285070013880700229007002380例29.计算2号课程的学生平均成绩。SELECTAVG(Grade)FROMSCWHERECno=‘2’;例30.查询2号课程的学生最高成绩.SELECTMIN(Grade)FROMSCWHERECno=‘3’;查询结果如下:3.3.2.连接查询SC表snocnograde20070011922007001285200700138820070022902007002380如果按照两个表中的相同属性进行等值连接,且目标列中去掉了重复属性列,但保留了所有不重复的属性列称之为自然连接。例33.自然连接的STUDENT表和SC表。SELECTStudent.Sno,Sname,Ssex,Sage,sdept,Cno,GradeFROMStudent,SCWHEREStudent.Sno=SC.Sno;3.外连接将自然连接的例题改写如下:SELECTStudent.Sno,Sname,Ssex,Sage,Sdept,Cno,GradeFROMStudent,SCWHEREStudent.Sno=Sc.Sno(*);2.自身连接连接操做不仅可以在两个表之间进行,也可以是一个表与其自己进行连接,称为表的自身连接。例.查询每一门课的间接先修课。完成查询的SQL语言为:SELECTFIRST.Cno,SECOND.CpnoFROMCourseFIRST,CourseSECONDWHEREFIRST.Cpno=SECOND.Cn