数据查询-宁剑-sql实验报告3.docxVIP

  • 64
  • 0
  • 约6.87千字
  • 约 23页
  • 2017-05-21 发布于浙江
  • 举报
数据查询-宁剑-sql实验报告3

实验三 数据查询 ●实验指导——简单查询和连接查询 实验目的 1.观察查询结果, 体会SELECT语句实际应用; 2.要求学生能够在查询分析器中使用SELECT语句进行简单查询。 3. 熟练掌握简单表的数据查询、数据排序和数据连接查询的操作方法。 实验准备 完成实验四,成功建立了基本表。 了解简单SELECT语句的用法。 比较熟悉查询分析器中的SQL脚本运行环境。 实验要求 1.完成简单查询和连接查询操作,并验收实验结果提交实验报告 实验内容 CREATE TABLE student1 ( sno char(8) PRIMARY KEY, --学号(主键) sname char (8) NOT NULL, --姓名 ssex char(2), --性别 sage char(2), --年龄 sdept char(6), --所在院系 ) CREATE TABLE course1 ( cno char(10) PRIMARY KEY, --课程编号(主键) cname char(20) NOT NULL, --课程名称 cpno char(2), --先行课 credit tinyint --课程学分 ) CREATE TABLE sc ( sno char(8), --学号(主键) cno char(10), --课程编号(主键) grade char(3), --成绩 primary key(sno,cno) ) 所有的查询全部用Transact-SQL语句实现 简单查询操作 此部分查询包括投影、选择条件表达、数据排序、使用临时表等。 对EDUC数据库实现以下查询: 求计算机系的学生学号和姓名; SELECT sno,sname from student1 where sdept=CS; 求选修了课程的学生学号; SELECT distinct sno from sc where cno is not null; 求选修C1 课程的学生学号和成绩,并要求对查询结果按成绩的降序排列,如果成绩相同则按学号的升序排列; SELECT sno,grade from course1,sc where course1.cno=sc.cno and cname=数学 order by grade desc,sno asc; 求选修课程C1 且成绩在80-90 之间的学生学号和成绩,并将成绩乘以系数0.75 输出; SELECT sno,grade from course1,sc where course1.cno=sc.cno and cname=数学 and grade between 80 and 85; 求计算机系和数学系的姓张的学生的信息; SELECT * from student1 where sdept in (CS,IS) and sname like 张%; 求缺少了成绩的学生的学号和课程号。 SELECT sc.sno,cno from student1,sc where student1.sno=sc.sno and grade is null; 将2000以后的成绩大于90分的学生成绩存入永久成绩表;将2000年以前的成绩存入临时成绩表中。 连接查询操作 对EDUC数据库实现以下查询: 查询每个学生的情况以及他(她)所选修的课程; SELECT student1.*,sc.cno from student1,sc where student1.sno=sc.sno; 求学生的学号、姓名、选修的课程名及成绩; SELECT student1.*,sc.cno from student1,sc where student1.sno=sc.sno; 求选修C1 课程且成绩在90 分以上的学生学号、姓名及成绩; SELECT sc.sno,student1.sname,sc.grade from student1,sc where student1.sno=sc.sno and grade90; 查询每一门课的间接先行课。 SELECT c1.cno,c2.cpno from course1 c1,course1 c2 where c1.cpno=c2.cno; ●实验指导

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档