实验二-交互式sql_第1页
实验二-交互式sql_第2页
实验二-交互式sql_第3页
实验二-交互式sql_第4页
实验二-交互式sql_第5页
全文预览已结束

下载本文档

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

文档简介

1、 实验二 交互式sql 河南工业大学实验报告 课程 数据库原理 _ 实验名称 实验二 交互式 SQL 院 系_ 专业班级_ 计科 F1202 _ 姓 名_ 学 号_ _ 指导老师: 日 期 2019. 10. 12 一. 实验目的 1. 熟悉 SQL 的数据定义、 数据操纵功能; 掌握利用 SQL 语句进行多表内/外连接查询和嵌套查询的方法; 掌握 GROUP BY 子句、 HAVING 子句、 ORDER BY 子句的用法; 掌握(NOT) IN、 (NOT) EXISTS 等谓词的用法; 掌握 SUM、 AVG、 COUNT、 MAX、 MIN 等集合函数的用法; 掌握 SQL 语句中数据

2、更新相关操作; 熟悉视图基本操作: 定义、 查询、 更新视图。 2. 3. 4. 5. 6. 7. 二. 实验内容及要求 本实验的表结构如下所示: Student (sno, sname, sex, sage, dept, oldgrade, advisor) Teacher (tno, tname, dept, salary, title) Course (cno, cname, descry, dept, credit) SC (sno, cno, grade) 以上数据库表的含义为: Student学生: sno(学号) , sname(学生姓名) , sex(性别) , sage(年龄

3、), dept(所在院系) , oldgrade(高考成绩) , advisor(导师) Teacher教师: tno(教师编号) , tname(教师姓名) , dept(所在院系) , salary(工资) , title(职称) Course课程: cno(课程号) , cname(课程名) , descry(课程说明) , dept(开课院系) , credits(学分) SC成绩: sno(学号) , cno(课程号) , grade(成绩) 根据上述情况完成: 1. 使用 SQL 语句定义上述各表。 2. 查询选修了 号课程的学生姓名。 3. 查询所有的学生及其选课信息。 4. 分

4、别利用内连接、 左连接和右连接实现上题, 观察异同。 5. 查询工资不在 2019 到 3000 的教师姓名, 按工资排序。 6. 查询高考平均成绩大于 700 分的学生所在院系。 7. 查询所有院系的平均高考成绩, 并按平均成绩排序。 8. 查询所有学生的学号及成绩, 并计算总成绩。 9. 查询每个院系教师的最高工资。 10. 把 Teacher 表中 dept 字段值为计算机科学系 的记录修改为信息科学与工程学院 。 11. 新建一个视图, 并依此查询课程编号为 , 成绩大于 80 分的学生姓名。 12. 为 Teacher 表增加一个字段, 电话(Phone) , 数据类型 char(1

5、2), 允许为空。 三. 实验过程及结果 (说明: 要写出相关 SQL 语句, 实验结果可以是运行画面的抓屏, 抓屏图片要尽可能的小。 ) 1、 使用 SQL 语句定义上述各表。 CREATE TABLE teacher ( tno char(3) primary key, tname char(8), dept varchar(20), salary int, title char(6) ) CREATE TABLE student ( sno char(7) primary key, sname char(8), sex char(2), dept varchar(20), oldgrad

6、e int, tno char(3) ) CREATE TABLE Course ( cno char(6) primary key, cname varchar(20), descry varchar(50), dept varchar(20), credit float ) CREATE TABLE SC ( sno char(7), cno char(6) , grade int, primary key (sno,cno) ) 2、 查询选修了 号课程的学生姓名。 Select sname from student where exists (select * from SC wher

7、e sno=student.sno and cno=) 3、 查询所有的学生及其选课信息。 Select student. no, sname, sex, dept, oldgrade, tno, cno, grade from student, sc where student. sno=sc. sno 4、 分别利用内连接、 左连接和右连接实现上题, 观察异同。 内连接: Select student.sno,sname,sex,dept,oldgrade,tno,grade from student inner join SC on student.sno=SC.sno 左连接: Sel

8、ect student.sname,sex,dept,oldgrade,tno,grade from student left join SC on student.sno=SC.sno 右连接: select student.sno,sname,sex,dept,oldgrade,tno,grade from student right join sc on student.sno=sc.sno 5、 查询工资不在 2019 到 3000 的教师姓名, 按工资排序。 select tname from teacher where salary not between 2019 and 300

9、0 order by salary 6,、 查询高考平均成绩大于 700 分的学生所在院系。 select dept from student where oldgrade700 7、 查询所有院系的平均高考成绩, 并按平均成绩排序。 select dept,AVG(oldgrade) as avgoldgrade from student group by dept order by avg(oldgrade) 8、 查询所有学生的学号及成绩, 并计算总成绩。 select student.sno,SC.cno,SC.grade from student,SC where student.s

10、no=SC.sno select student.sno,SUM(grade) as sumgrade from student,SC where student.sno=SC.sno group by Student.sno 9、 select dept,MAX(salary) as maxsalary from teacher group by dept 10、 查询每个院系教师的最高工资。 update teacher set dept=信息科学与工程学院 where dept=计算机科学系 12、 为 Teacher 表增加一个字段, 电话(Phone) , 数据类型 char(12), 允许为空。 alte

温馨提示

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

评论

0/150

提交评论