数据库语言SQL作业解答

发布 2022-09-02 20:20:28 阅读 7070

3. 关系数据模型如下 p84 例4.26

学生s(sno,sn,sex,age)

课程c(cno,cn,pcno) pcno为直接先行课号。

选课sc(sno,cno,gr) gr为课程考试成绩。

用sql写出查询程序:

所有学生都选修的课程名cn。

方法1.select cn

from c

where not exists

( select *

from s

where not exists

select *

from sc

where sno=

and cno=

变换后语义:不存在这样的学生x,该学生没有选修p。

方法2.select cn

from c

where cno in ( select cno

from sc

group by cno

h**ing count(*)select count(*)

from s ))

例46] 查询选修了全部课程的学生姓名。

select sname

from student

where not exists

select *

from course

where not exists

select *

from sc

where sno=

and cno=

变换后语义:不存在这样的课程x,该学生没有选修p。

4. 假设学生一课程数据库关系模式如下:

student(sno,sname,sage,ssex);

course(cno,cname,teacher);

sc(sno,cno,grade)。

用sql语句表达下列查询:

1) 找出刘老师所授课程的课程号和课程名;

2) 找出年龄小于22岁的女学生的学号和姓名。

1. select cno,cname

from course

where teacher like “刘。

2. select sno, sname

from student

where sage<22 and ssex =’女’

5. 假设学生一课程数据库关系模式如下:

student(sno,sname,sage,ssex);

course(cno,cname,teacher);

sc(sno,cno,grade)。

用sql语句表达下列查询:

1) 找出至少选修刘老师讲的一门课的学生姓名;

2) 找出“程序设计”课成绩在90分以上的学生的姓名;

3) 检索至少选修了课程号为‘c1和‘c3’的学生号。

答案。1. select sname

from student, sc, course

where and

and teacher like “刘%”

2. select sname

from student, sc, course

where

and and cname =”程序设计” and grade > 90

3. select sno教科书:p80***例4.18

from sc sc1, sc sc2

where

and and

[例51] 查询既选修了课程1又选修了课程2的学生。

select sno

from sc

where cno=' 1 ' and sno in (select sno

from sc

where cno=' 2 ')

select sno

from sc

where cno=’c1’ or cno=’c3and */

6. 假设学生一课程数据库关系模式如下:

student(sno,sname,sage,ssex);

course(cno,cname,teacher);

sc(sno,cno,grade)。

用sql语句表达下列查询:

1)求孙老师讲的每门课的学生平均成绩;

2)统计选修各门课的学生人数。输出课程号和人数。查询结果按人数降序排列,若人数相同,则按课程升序排列。

答案。1. select cno, **g(grade

from sc, course

where and teacher like “孙老师”

group by cno

2. select cno, count(*)

from sc

group by cno

oredr by count(*)desc, cno

7. 假设学生一课程数据库关系模式如下:

student(sno,sname,sage,ssex);

course(cno,cname,teacher);

sc(sno,cno,grade)。

用sql的更新语句表达对数据库的下列更新操作:

1)向学生关系student中插入一个学生元组(990012,梅立松,20,女)。

2)从学生选课关系sc中删除夏春秋同学的所有元组。

3)在学生选课关系sc中,把英语课的成绩提高10%。

答案。1. insert into student

values (990012,梅立松,20,女)

插入:子查询。

2. delete from sc

where sno in

select sno

from student

where sname = 夏春秋”);

3. update sc

set grade =1.1*grade

where cno in

select cno

from course

where cname = 英语”);

例7] 将计算机科学系全体学生的成绩置零。

update sc

set grade=0

where 'cs'= selete sdept

from student

where =

update sc

set grade = 0

where sno in ( select sno

from student

where sdept = cs' )

例41 找出每个学生超过他选修课程平均成绩的课程号。

select sno,cno

from sc x

where grade >=select **g(grade)

from sc y

where

SQL数据库作业

1 分别用ssms方式和t sql方式,在 教学成绩管理数据库 中创建 教师信息表 其表结构如下 use 教育成绩管理数据库。go create table 教师信息表。编号 char 6 not null,登录名 char 10 not null,姓名 nchar 4 not null,密码 ch...

SQL数据库作业

svse程序员上机考试。注意 考试结束试卷必须交回,否则按零分处理。一 语言和环境。a 实现语言 c b 环境要求 vs2005或更高版本 sql server2005二 数据库设计。数据库名称 empdb 数据库表信息 三 要求。利用c 和数据库编程,编写员工信息管理系统。要求实现员工信息的添加 ...

数据库SQL语句查询作业

所有这些题目针对的是样本数据库,需要先把样本数据库附加到自己机器的dbms中。题目分为5个等级,1级是最简单的,5级是最难的。在microsoft sql server management studio中,展开到刚才附加好的northwindcs数据库,右击鼠标,点击 新建查询 如图。在 新建查询...