人人范文网 范文大全

《数据的查询操作》

发布时间:2020-03-03 16:40:00 来源:范文大全 收藏本文 下载本文 手机版

第八次作业1

1.检索年龄大于18岁的女学生的学号和姓名(注意:要给列起别名);use 学生课程数据库

select sno ,sname

from studentwhere sage>18 and ex=\'女\'

2.检索所有男学生选修的课程号和课程名称(仅在结果中列出10%的数据行)。use 学生课程数据库

select top(10)percent course.cno,cname

from student,sc,course

where student.sno=sc.sno and sc.cno=course.cno and ex=\'男\'

3.查询年龄大于18,并不是信息管理也不是计算机科学的学生的姓名和性别(复合查询);

select sname,ex

from studentwhere sage>18 and sdept not in (\'信息管理\',\'计算机科学\')

4..查询以“DB_”开头,和倒数第二个汉字为“导”字的课程信息(模糊查询);select *

from course

where cname like \'DB_%\' or cname like \'%导_\'

5.查询student表和sc表的交叉连接;

select *

from student cro join sc

6.检索王同学不学的课程的课程号和课程名称;

select cno,cname

from course

where cno not in (select cno from sc where sno in (select snofrom student

where sname=\'王%\'))

7.检索全部学生都选修的课程号和课程名称;

SELECT cno,cname

FROM course

WHERE NOT EXISTS

(SELECT *FROM student

WHERE NOT EXISTS

(SELECT *

FROM SC

WHERE SC.Sno= Student.Sno AND SC.Cno= Course.Cno))

8.检索所有课程的成绩均高于90分的学生的姓名和年龄;

select sname, sage

from student

where sno in

(select sno

from sc

group by sno

having MIN(grade)>90)

go

9.求刘老师所授的每门课程的平均成绩;

select cno,AVG(grade)

from sc

where cno in (select cno from course where cname in (select job from

teacher

where ename like \'刘%\'))

Group by cno

10.求年龄大于所有女同学的男学生的姓名和年龄

select sname,sage

from student

where sage> all(select sage from student where ex=\'女\')and ex=\'男\'

11.求每个学生的总分,要求输出学号和总分数(要求依然保持学生原有的明细分数,并按学号分组汇总)

select sno,grade

from sc

order by sno

COMPUTE SUM(grade) by sno

12.查询各不同平均成绩所对应的学生人数(要求显示各组的单项人数)

select avgr,COUNT(*)

from (select sno,AVG(grade)from sc

group by sno)as sg(sno,avgr)GROUP BY avgr

13.查询年龄小于18岁和大于20岁的学生的所有信息(要求用并运算实现union);select *

from student

where sage

union

select *

from student

where sage>20

14.查询即选修了‘1001’号课程有选修了‘1003’号课程的学生的学号(要求用用交运算实现intersect);

select sno

from sc

where cno=\'1001\'

intersect

select sno

from scwhere cno=\'1003\'

15.查询选修了‘1002’号课程,但不是工业工程系的学生的学号(要求用差运算实现except)

select sno

from sc

where cno=1002

exceptselect sno

from student

where sdept!=\'工业工程\'

16.创建一个公用表,该表由课程号、人数和最高分组成,用于存放各门课程的课程号、选修该课的人数及该门课的最高分数,查询该公用表,并按照课程号排序。

WITH gongyongbiao(cno,amount,maxgrade)

AS(SELECT sc.cno, COUNT(*), MAX(grade)

FROM course,sc

WHERE sc.cno IS NOT NULL

GROUP BY sc.cno)

SELECT cno,amount,maxgrade

FROM gongyongbiao

第八次作业

21.在学生信息表中进行自联接查询,并在连接时使用内链接,返回籍贯是“河南”或者“北

京”的学生学号、姓名、班级编号及籍贯信息。

select student.sno,sname,cla,jiguan

from student

where jiguan=‘河南’or jiguan=‘北京’

2.查询人数超过45人所在班级中的学生的学号、姓名和班级名称。

Select 学号,姓名,班级名称

From 学生信息a,班级信息b

Where a.班级编号=b.班级编号 and a.班级编号 in(select 班级编号 from 班级信息 where 人数>45)

3.对于成绩大于等于90的数据进行查询,并返回考试成绩的学生的学号、姓名、性别、籍

贯和所在班级名称及年级信息。(用EXISTS编写语句)

Select a.sno,a.sname,a.ex,a.jiguan,b.cla,b.grade

From 学生信息a inner join 班级信息b

On a.班级编号=b.班级编号

Where exists(select* from 成绩表 where 学号=a.学号 and grade>=90)

4.查询出任意一个大于平均成绩的学生的学号、姓名、班级编号、课程编号和成绩信息。

Select a.sno,a.sname,a.cla,b.cno,b.grade

From 学生信息a inner join 成绩表b

On a.学号=b.学号

Where grade>any(select avg(grade) from 成绩表)

5.查询学生姓名为“李文东”所在班级的学生信息,要求返回学生的学号、姓名、性别、

班级编号、班级名称和年级信息

Select a.sno,a.sname,a.ex,b.banjibianhao,b.banjimingcheng,b.nianjixinxi From 学生信息a inner join 班级信息b on a.班级编号=b.班级编号

Where a.班级编号=(select 班级编号 from 学生信息 where sname=‘李文东’)

6.查询出所有非计算机系的学生信息,并显示出这些学生的考试成绩,成绩按降序排列显示,要求返回学生的学号、姓名、班级编号、课程编号和成绩信息。

Select a.学号,a.姓名,a.班级编号,b.课程编号,b.成绩

From 学生信息a inner join 成绩表b

On a.学号=b.学号

Where a.学号 not in(select 学号 from 学生信息 where 班级编号 in

(select 班级编号 from 课程信息 where 开课系别=‘计算机系’))

Order by 成绩 desc

Select a.学号,a.姓名,a.班级编号,b.课程编号,b.成绩

From 学生信息a inner join 成绩表b

On a.学号=b.学号

Where a.班级编号 not in(

(select 班级编号 from 课程信息 where 开课系别=‘计算机系’))Order by 成绩 desc

SQL语言数据查询操作

数据库数据查询和操作[材料]

广东省教育信息平台查询数据操作(详)

查询操作指引

acce数据综合查询

SQL数据查询语言

C3E4教学管理数据库数据查询

实验五数据查询——复杂查询

个人社保查询操作指南

查询期末考试成绩操作步骤

《数据的查询操作》
《《数据的查询操作》.doc》
将本文的Word文档下载到电脑,方便编辑。
推荐度:
点击下载文档
相关专题 数据查询操作 操作
点击下载本文文档