数据库创建查询实验_第1页
数据库创建查询实验_第2页
数据库创建查询实验_第3页
数据库创建查询实验_第4页
数据库创建查询实验_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

1、1)创建教务管理数据库JWGL的sql命令CREATE DATABASE JWGL ON /* 数据文件的描述*/ ( NAME=JWGL_data, /* 数据库逻辑文件名*/FILENAME=E:DATAJWGL.MDF, /* 数据库文件要保存的路径及文件名*/ SIZE=4, /* 初始数据库文件的大小*/ MAXSIZE=10, /* 数据库文件的最大值(MB)*/ FILEGROWTH=10% ) /* 数据文件的自动增长率*/ LOG ON /* 事务日志描述*/ ( NAME=JWGL_log, /* 日志逻辑文件名*/ FILENAME=E:DATAJWGL_log.mdf,

2、 /* 日志文件要保存的路径及文件名*/ SIZE=1, /* 初始日志文件的大小*/ MAXSIZE=6, /* 日志文件的最大值*/ FILEGROWTH=1 /* 增长率可以是百分比也可以是具体值*/);(2)创建学生信息表SUSE JWGLCREATE TABLE S (sno CHAR(9) NOT NULL /* 学号字段*/ CONSTRAINT PK_sno PRIMARY KEY CLUSTERED, /* 主键约束*/sname CHAR(8) NULL, /* 姓名字段*/ sex CHAR(1) NULL,/* 性别字段*/ age SMALLINT NULL, /*

3、年龄字段*/ sdept VARCHAR(20) NULL /* 系别字段*/ );(3)创建课程表CUSE JWGLCREATE TABLE C (cno CHAR(4) NOT NULL /* 课程号字段*/ CONSTRAINT PK_cno PRIMARY KEY CLUSTERED, /* 主键约束*/cname CHAR(20) NULL, /* 课程名字段*/ cpno CHAR(4) NULL, /* 先行课程号*/ credit Smallint NULL /* 学分字段*/ );(4)创建学生选课表SCUSE JWGLCREATE TABLE SC (sno CHAR(9)

4、 NOT NULL, /* 学号字段*/ cno CHAR(4) NOT NULL, /* 课程编号字段*/ grade Decimal(5,1) NULL check(grade=0 and grade2 and credit3 ORDER BY credit ASC;(5) 从表C中查询出课程号为1或3的课程的课程号、课程名称以及学分。SELECT cno,cname,credit FROM c Where cno=1 or cno=3;(6) 求选修“1”课程的学生学号和成绩,并要求对查询结果按成绩的降序排列,如果成绩相同则按学号的升序排列。SELECT sno,gradeFrom sc

5、Where cno=1Order by grade desc,sno asc;(7) 求选修课程“1”且成绩在8090 之间的学生学号和成绩,并将成绩乘以系数0.75 输出。 Select sno,grade ,grade*0.75 as 系数 From sc Where cno=1 and grade between 80 and 90;(8) 求计算机系和数学系的姓张的学生的信息。Select * From sWhere sdept=计算机 and sname like 张% or sdept=数学 and sname like 张%;(9) 求缺少了成绩的学生的学号和课程号。Select

6、 sno,cnoFrom sc Where grade is null;2. 连接查询操作(1) 查询每个学生及其选修课情况。 select s.* ,sc.* from s,sc where s.sno =sc.sno;(2) 查询选修2号课程且成绩在80分以上的学生学号、姓名、性别。select s.sno,sname,sex from s,sc where s.sno=sc.sno and o=2 and sc.grade 80;(3) 查询每个学生的学号、姓名、选修的课程及成绩。select s.sno,sname,cno,grade from s,sc where s.sno=sc.

7、sno ; (4) 求选修C1 课程且成绩在90 分以上的学生学号、姓名及成绩。select s.sno,sname,grade from s,scwhere s.sno=sc.sno and o=c1 and sc.grade 90 (5) 查询每一门课的间接先行课。select o ,second.cpno from c first ,c second where first.cpno=o;(6) 查询选修了课程名为“数据结构”的学生学号和姓名。select s.sno,sname from s,sc,c where s.sno=sc.sno and o=o and cname = 数据结

8、构;3. 子查询操作(了解子查询的表示方法,熟悉IN、EXISTS等谓词的用法)(1) 求C1 课程的成绩高于张三的学生学号和成绩。select sno,gradefrom scwhere cno=c1 and grade (select grade from sc where cno=C1 and sno =(select sno from s where sname=张三);(2) 求其他系中比计算机系学生年龄都小的学生信息。select * from s where age ALL (select age from s where sdept=计算机) AND sdept 计算机;(3) 查询所有计算机系学生的学号、选修课程号以及分数(使用IN谓词)。select sno,cno,grade from scwhere sno in (select sno from s where sdept=计算机);(4) 求没有选修C2 课程的学生姓名。select snamefrom s where NOT EXISTS (select * from sc where s.sno=sc.

温馨提示

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

评论

0/150

提交评论