实验报告
课程名称数据库系统原理实验日期10月24日实验项目名称交互式SQL实验地点数据库实验室实验类型□验证型 √设计型
□综合型 学 时2一、实验目的及要求(本实验所涉及并要求掌握的知识点)1、能够熟练使用SQL语句对数据库进行单表查询、多表的链接查询、统计查询、分组查询。二、实验环境(本实验所使用的硬件设备和相关软件)安装XP操作系统的电脑一台
Sql server2005开发版安装软件
IIS5.0 三、实验内容及步骤1、运行老师给出的脚本,创建实验所需的数据库。其中spj脚本创建的是课本第75页的数据库,st脚本创建的是课本第82页的数据库。
2、用SQL指令完成课本第127页得第5题中的第1到6题中的查询
(1)找出所有供应商的姓名和所在城市;
(2)找出所有零件的名称、颜色和重量;
(3)找出使用供应商S1所供应零件的工程号码;
(4)找出工程项目J2使用的各种零件的名称及其数量;
(5)找出上海厂商供应的所有零件号码;
3、在学生-课程数据库(st)中用SQL语句完成以下查询:
(1)查询计算机系(CS)的所有学生的姓名,查询结果按学号升序排列。
(2)查询学生选课成绩合格的成绩信息。
(3)查询学分为3或4的课程名称。
(4)查询所有课程名称中含有“数据”的课程号。
(5)查询所有姓王的学生信息。
(6)查询所有学生的姓名和出生年份,并给该出生年份属性列命名为出生年份。
(7)查询所有选课记录的课程号(不重复显示)。
(8)查询成绩为88、90、92分的学生的成绩信息。
(9)统计所有学生的平均年龄。
(10)查询所有选课的学生的学号及其平均成绩,按平均成绩降序排列。
(11)求出至少被两名学生选修的课程号及其选修的人数。
(12)查询至少选修了三门课程的学生姓名及其选修的门数。
(13)查询学生的基本信息及选修的课程号及成绩。
(14)查询学号为200215121的学生的姓名和选修的课程名及成绩。
(15)查询所有被选修的课程的详细信息。
(16)查询选修了“信息系统”课程的学生学号和姓名。
(17)找出选修课程成绩最差的选课记录。(提示查询的结果按成绩的升序排序,显示排序后的第一条记录,显示前 n条记录用select top n * from 表名)
(18)查询所有选修数学课程的学生的姓名和对应该课程的成绩。
四、实验结果(本实验源程序清单及运行结果或实验结论、实验设计图)2、用SQL指令完成课本第页得第题中的第到题中的查询
(1)找出所有供应商的姓名和所在城市;
(2)找出所有零件的名称、颜色和重量;
(3)找出使用供应商S1所供应零件的工程号码;
(4)找出工程项目J2使用的各种零件的名称及其数量;
(5)找出上海厂商供应的所有零件号码;
(1)select sname,city
from s
(2)select pname,color,weight
from p
(3)select jno
from spj
where sno='s1'
(4)select pname,qty'零件数量'
from spj,p
where spj.pno=p.pno and spj.jno='j2'
(5)select spj.pno
from spj,s,p
where spj.sno=s.sno and spj.pno=p.pno
and s.city='上海'
create database st
on
(name=st_data,
filename='d:\sql\st_data.mdf',
size=3,
maxsize=4,
filegrowth=10%
)
log on
(name=st_log,
filename='d:\sql\st_log.ldf',
size=1,
maxsize=2,
filegrowth=10%)
use st
go
create table student
(sno char(9) primary key,
sname char(6) not null,
ssex char(2) default ('男'),
sage int,
sdept varchar(10)
)
go
use st
go
create table course
(cno varchar(3) primary key,
cname varchar(12),
cpno varchar(3),
ccredit int
)
go
create table sc
(sno char(9) not null,
cno varchar(3) not null,