数据库交互式SQL实验报告_第1页
数据库交互式SQL实验报告_第2页
数据库交互式SQL实验报告_第3页
数据库交互式SQL实验报告_第4页
数据库交互式SQL实验报告_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、河南工业大学实验报告课程数据库原理实验名称实验二交互式院系:_信息科学与工程学院专业班级:计科姓名:_学号:指导老师:孙宜贵日期:实验目的熟悉SQL的数据定义、数据操纵功能;掌握利用SQL语句进行多表内外连接查询和嵌套查询的方法;掌握GROUPBY子句、HAVING子句、ORDERBY子句的用法;掌握(NOT)IN、(NOT)EXISTS等谓词的用法;掌握SUM、AVG、COUNT、MAX、MIN等集合函数的用法;掌握SQL语句中数据更新相关操作;熟悉视图基本操作:定义、查询、更新视图。实验内容及要求本实验的表结构如下所示:Student(sno,sname,sex,sage,dept,old

2、grade,advisor)Teacher(tno,tname,dept,salary,title)Course(cno,cname,descry,dept,credit)SC(sno,cno,grade)以上数据库表的含义为:Student学生:sno(学号),sname(学生姓名),sex(性别),sage(年龄),dept(所在院系),oldgrade(高考成绩),advisor(导师)Teacher教师:tno(教师编号),tname(教师姓名),dept(所在院系),salary(工资),title(职称)Course一课程:eno(课程号),cname(课程名),descry(课程

3、说明),dept(开课院系),credits(学分)SC一成绩:sno(学号),eno(课程号),grade(成绩)根据上述情况完成:使用SQL语句定义上述各表。查询选修了105323号课程的学生姓名。查询所有的学生及其选课信息。分别利用内连接、左连接和右连接实现上题,观察异同。5.查询工资不在2000到3000的教师姓名,按工资排序。查询高考平均成绩大于700分的学生所在院系。查询所有院系的平均高考成绩,并按平均成绩排序。查询所有学生的学号及成绩,并计算总成绩。查询每个院系教师的最高工资。10.把Teacher表中dept字段值为“计算机科学系”的记录修改为“信息科学与工程学院”。11新.建

4、一个视图,并依此查询课程编号为205323,成绩大于80分的学生名。为Teacher表增加一个字段,电话(Phone),数据类型char(12),允许空。实验过程及结果1.定义上述各表的SQL语句是:CREATETABLEteacher(tnochar(3)primarykey,tnamechar(8),deptvarchar(20),salaryint,titlechar(6);CREATETABLEstudent(snochar(7)primarykey,snamechar(8),sexchar(2),deptvarchar(20),oldgradeint,tnochar(3);CREAT

5、ETABLECourse(cnochar(6)primarykey,cnamevarchar(20),descryvarchar(50),deptvarchar(20),creditfloat);CREATETABLESC(snochar(7),cnochar(6),gradeint,primarykey(sno,cno);各表创建完成后执行结果如下图所示:图1引入脚本,将各表数据信息录入,以便完成以下的要求。查询选修了105323号课程的学生姓名,SQL语句是:selectsnamefromstudent,coursewherecno=105323;或者:selectsnamefromstu

6、dent,coursewherecnolike105323;运行结果如图2所示:3.查询所有的学生及其选课信息,SQL语句是:selectstudent.*,sc.*fromstudent,scwherestudent.sno=sc.sno;运行结果如图3所示:selectstude:nt*fsc*-3C5110;f2?omstude:nt,sc軒h皂工圮stud皂口匸ano1结果|L插消息|snc3snamesexdeptIdgradetnosnocnogradeJ_20D70D1李明胃管理学卩完6835512m70D11D5321NULL12-20D70D1李期管理学卩完5512M70D1

7、1D5322771320D70D1李明胃管理学卩完5512M70D11D532367|420D7D02张丽女管理学卩完5625522M70021D53217Q1520D7OT2张丽女管理学卩完M255224KJ7W21D5322671620D7OT2张丽女管理学卩完5625522M7WJ21D532396720D7OT3胡美美女管理学卩完712353207W)31D53217320D7D03胡美美女管理学卩完7125532M70031D532283图34.分别利用内连接、左连接和右连接实现上题,观察异同。内连接:相比等值连接,内链接把目标列中重复的属性列去掉啦。用内连接查询所有的学生及其选课信

8、息,SQL语句是:selectstudent.sno,sname,sex,dept,oldgrade,tno,cno,gradefromstudent,scwherestudent.sno=sc.sno;运行结果如图4所示:Aselect:studentsrn芦吕口aire,sex,dept-oldgradertnorcnorgradefromsmden匸扌已uwlierestudent巴口口=sc.sno;二结果|Lji消息|snosnarnesex|deptoldgradetnoenograde1李明管理学除68SB511D5321NULL7._2M7C-D1李明管理学除E8S-S5110

9、532277j32D07M1李明管理学除85-B5110532367|42D07M2张丽女管理学卩完562B521053217DL2D07M2张丽女管理学険562B5210532267h2D07M2张丽管理学除M2S5210532396|720070&3胡美美管理学除712B53-1D532179S2M7C-&3胡美美管理学除712S53-10532283图4左连接:列出左边关系中所有的元祖,运行结果如下图5所示:selects匸口dentbhq,Bnaur.e,sex,dept:,aldgrdd_e,匸n口,eno,qrddefrom吕匸口dentleft口terjoinsasc.sno-o

10、n(etudent:.sno二结果|L3消息|anosnamesexJdeptoldgradetnoCTIOgrade12D07W1李明男管理学院6BSS511D-5321NULL|22fl07(H)1李明男管理学疏6&SS511D-532277|32fl07(H)1李明男管理学院6BSS511D-5323-67|42007M2弓总丽女管理学琮M2S5210-532170|52flD7(H2弓总丽女管理学琮5fi2S5210-53226762flO7M2兆丽女管理学除5fi2S5210-5323-9E17-2D07M3胡美美女管理学院712S531D-532179|8P2D07M3胡美美女管理

11、学疏712S531D-532285图5右连接:列出右边关系中所有的元祖,运行结果如下图6所示:selectsc.sno,cno,grade,sname,sex,dept,oldgrade,tnofromstudentrightouterjoinsc*1on(student.sno=sc.sno);selectsc.belo,eno,grade,snaiTxe-Bexroldgradertznofranis匸口dent;rightouterjoinscSC.5ELQcm(student-sno二结果I也消息IsnoonegradesnamesexdeptIdgradetna12007H11053

12、21NULL李明菅理学院6BS851210532277李明菅理学坛6S8851324KJ7W110-5323-R7李明里管理学坛6SBS5142M7M21053217D強丽管理学晓5S285252007M21053227兆丽管理学晓56285262007M2105323-9強丽女菅理学院56285272007MB10532175胡美美菅理学院712853-3P2007M3105322SS胡美美菅理学坛712853图6查询工资不在2000到3000的教师姓名,按工资排序,SQL语句是:Selecttnamefromteacherwheresalary3000orderbysalary;或者:Se

13、lecttnamefromteacherwheresalarynotbetween2000and3000orderbysalary;运行结果如下图7所示:二结果|由消息|*1*1图7运行结果如下图 所示:查询高考平均成绩大于700分的学生所在院系,SQL语句及运行结果如下图8所示:图8查询所有院系的平均高考成绩,并按平均成绩排序,语句是:selectdept,avg(oldgrade)fromstudentgroupbydeptorderbyavg(oldgrade);运行结果如下图9所示:出亡工亡匚匸dept,avg(old.gradeifromstudentgroupkydeptoTdez

14、?kyavc(o1dgrade;l结果I勺消息Idept1无列扫11村料工程学院620|2信息科学弓工程学喘62fi|3管理学院64查询所有学生的学号及成绩,并计算总成绩,SQL语句是:Selectstudent.sno,count(grade)fromstudent,scwherestudent.sno=sc.snogroupbystudent.sno;图10查询每个院系教师的最高工资,SQL语句是:selectdept,MAX(salary)fromteachergroupbydept;运行结果如下图11所示:selectdept,IalAX(salary)z?Qniteachergroi

15、ipbwdept;方结果启消息1dept1无列名123村料工程学院管理学院信息科学弓工程学院36聊图11把表中dept字段值为“计算机科学系”的记录修改为“信息科学与工程学院”,SQL语句是:updateteachersetdept=信息科学与工程学院wheredept=计算机科学;运行结果如下图 所示:查询修改后的运行结果如下图12所示:曰updateteactier痒t馬触=信息赴学与孑程学院-whele翡触=吾算机禅学萦;一selec匸*fzconciteacher;钳-3结果I乜消息Itnotnamedeptsalarirtitle1S51胡玫信息科学与工程学院1&DD助敎|2应未红信

16、息科学与工程学院2&DD副埶授|3赵剛信息科学与工程学院3?DD|4炉信息科学与工程学院2200副鞋授|5&61黎东信息科学与工程学晓1910讲师6SG2周成信息科学与工程学院2830副埶授|7SS2郝思(圭信息科学与工程学院3DD图12新.建一个视图,并依此查询课程编号为205323,成绩大于80分的学生名。新建视图的语句是:createviewISstudentasselectsname,cno,gradefromstudent,sc;运行结果如下图13所示:aieateview15student.as一select:snarrie声eno,gradefronoistudent,sc;1|

17、li消息I命令已成功完成。图13查询语句是:selectsnamefromISstudentwherecnolike205323andgrade80;5皂lect:511己m亡fromISsfadeniL2053231andgradeSO;一wHi皂工已enolikem2、卜为eacher表增加一个字段,电话(Phone),数据类型char(12),允许空。增加字段的语句及增加后的查询结果如下图、图所示:altez?taLbleteacheiLaddphonechar(20;|屆消息I命令已成功完成。select*fronnteacher;d-J结果|也消息|tnotnamedeptsalaryrtitle-phene1851胡玫信息科学与工程学院1助教NULL2S52朱红信息科学与工程学院2500畐懺槓NULLI3-853信息科学与工程学院32D0NULL|4S54信息科学与工程学院22D0畐燉陵NULL|5旳黎东信息科学与工程学院1310讲师NULL|6&62周成信息科学与工程学院2O畐燉懂NULL|7&63郝思佳信息科学与工程学院300-NULLS&64信息科学与工程学院1500助教NULLfe-871马00信

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论