sql数据库原理习题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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’;

相关文档
最新文档