sql数据库原理习题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2.用SQL Sever 2000 操作命令完成下列操作:
(1)创建教学数据库,数据库名命名为教学库。
(2)在教学数据库中创建三个基本表,即学生、课程和选课三个表。它们的定义分别为:学生(学生号char(7),姓名char(6), 性别char(2), 出生日期datetime, 专业char (10), 年级int)
课程(课程号char (4), 课程名char(10), 课程学分int)
选课(学生号char (7), 课程号char (4), 成绩int)
(3) 向学生表中插入一条记录,该记录的学生号为010405,姓名李羽,性别女,出生日期为1986年1月1日,专业为汽车,年级为2。
(4)查询选修至少两门课程的学生号。
(5)查询选修了数据库原理与应用课程的所有学生的姓名和成绩,
(6)查询每个专业的学生数。
(7)将学生表中“汽车”专业学生的人数赋值给@NN变量,并显示出来。
(8)根据学号在学生表中该生的信息,如果该生属于汽车专业,则显示他的成绩,否则显示“学号为*********的学生不属于汽车专业”。
2.
(1)create database school;
(2)
create table student (
studentID char(7),
studentName char(6),
sex char(2),
birthday datetime,
profession char(10),
grade int(3)
);
create table course (
courseID char(4),
courseName char(6),
credit int
);
create table elective(
studentID char(7),
courseID char(4),
score int
);
(3)
insert into student (studentID, studentName,sex,birthday,profession,grade) values (‘010405’,’李羽’,’女’,’1986-01-01,’汽车’,2);
(4)
select studentID from elective group by studentID having count(*) >=2;
(5)
select s.studentName,e.score from student s, course c, elective e where s.studentid=e.studentID and c.courseID=e.courseID and c.courseName='数据库原理与应用'; (6)
select profession,count(*) from student group by profession;
(7)
DECLARE @NN int;
select @NN=count(*) from student group by profession having profession='汽车';
(8)
select case when s.profession='汽车' then e.score else '学号为' + s.studentID + '的学生不属于汽车专业' end as result from elective e, student s where e.studentID=s.studentID ;
(5)设一个学生关系为S(学生号,姓名),课程关系为C(课程号,课程名),选课关系为X(学生号,课程号,成绩),请写出下列关系运算表达式。
查询姓名为Lily的学生号、所选课程的每门课程号及相应成绩。
select S.学生号,C.课程号,C.课程名,X.成绩from S, C, X where S.学生号=X.学生号and C.课程号=X.课程号and S.姓名=’Lily’;