SQL试题以及答案

更新时间:2023-11-26 03:10:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

一、已知一个教学管理信息系统,其数据表间约束如下图所示:

(一)要求:使用“教学管理数据库”,完成下列操作。 1、返回“班级表”中的所有行和所有列。

2、检索“学生表”中的学号、姓名、性别和籍贯字段。 3、求所有学生在2011年的年龄。

4、查找所有入学成绩大于等于600的同学的学号、姓名和入学成绩。 5、查找以姓“王”开头的学生学号和姓名。

6、查找第二个字符为“中”字的学生学号和姓名。

7、查询所有学生的入学成绩,查询结果按入学成绩的降序排列。

8、对所有学生按入学成绩排降序和出生日期排降序输出学号、姓名、入学成绩和出生日期。

9、 查找来自于东北地区的学生信息,即籍贯为吉林、辽宁或黑龙江的学生,显示学号、姓名、性别和籍贯。

10、查找“计算机科学技术2010-02班”的人数和班主任。

(二)打开“教学管理数据库”,完成下列任务。

1、求成绩在90分以上人的学号、姓名和成绩。 2、将“学生表”、“成绩表”和“课程表”进行自然连接,求结果。 3、求“郭达雷”的成绩表。

4、求统计学081班的所有成绩单。

5、求每个同学所修课程的总学分,且按总学分降序输出。

6、求所修课程总学分在11分以上的姓名。

(三)打开“教学管理数据库”,其数据表间约束如上图所示,各个数据表的数据类型请自行查阅,完成下列任务。

1. 查询全体学生的姓名、学号和年龄。并将结果保存在C:\\result.txt中。 2. 查询选修了课程且成绩及格以上的学生学号。 3. 输出学生表中所有的籍贯。(去除重复的记录)

4. 统计少数民族且在1990年或1992年出生的同学人数。 5. 查询查找成绩最高分的同学学号、课程号和成绩。

6. 查询选课成绩最高的同学学号、姓名、课程号和相应的成绩。

7. 查询与万智同班或与杨小建同班的学生的学号、姓名、班级号和籍贯。 8. 查找同时选修有课程编号A0101和课程编号为B1001同学的学号、姓名、课程号和相

应成绩,按学号排序输出。

9. 查询至少选修课程的总分在30分以上的同学学号、姓名、班级名称和总分。 10. 查询选修了“邓小平理论”课程的同学学号、选课成绩。

二、已知一个图书管理信息系统,其数据表间约束如下图所示:

(一)打开“图书管理”数据库,完成下列工作。

1. 求借阅了作者中包含“洪应明”三个字的读者姓名工作单位。 2. 求读者“欧阳宇玉”借阅的书名。

3. 求“借阅表”中“超期天数”不为0的所有读者姓名及所在单位。 4. 求在“借阅表”中“超期天数”不为0的每个单位人数。

5. 求在“借阅表”中“超期天数”不为0的读者人数大于5的单位名称。 6. 要查询所藏图书中,各个出版社的图书最高单价、平均单价和册数 (二) 打开“图书管理”数据库,完成下列工作。 1、 查询文学类的图书基本信息。

2、 查询1989年出生的读者姓名、身份证号。 3、查询国际学院没有归还图书的读者编号、读者名称、图书名称、借书日期和归还日期。 4、查询至少借阅了3本图书的读者编号、读者名称、图书编号、图书名称,按读者编号排序输出。

5、查询借书时间在2008到2010年之间的读者编号、读者名称、图书编号、图书名称。 6、查询没有借阅管理类图书的读者编号、读者名称、出生日期。

7、查询每种类别的图书的分类号、最高价格和平均价格,并按最高价格的降序输出。 8、将清华大学出版社出版的图书的单价提高10%。 9、将计算机应用类的图书价格减少5元。

10、插入一条借书记录:读者编号06-00008,图书编号003-000024,借书日期03/25/10,还书日期05/25/10,是否归返F。 11、删除艺术类的借书记录。

12、删除马永强读者的借书记录。

一、

(一)1、select * From 班级表

2、select 学号,姓名,性别,籍贯 From 学生表

3、select 学号,姓名,2011 – year(出生日期) as 年龄 From 学生表

4、select 学号,姓名,入学成绩 From 学生表

Where 入学成绩>=600 5、select 学号,姓名 From 学生表

Where 姓名 like “王*”

6、select 学号,姓名 From 学生表

Where 姓名 like “?中*”

7、select 学号,姓名,入学成绩 From 学生表

Order by 入学成绩 desc

8、select 学号,姓名,入学成绩,出生日期 From 学生表

Order by 入学成绩 desc,出生日期desc

9、select 学号,姓名,性别,籍贯 From 学生表

Where 籍贯 like “辽宁*” or 籍贯 like”吉林*”or 籍贯 like

10、select 人数,班主任 From 班级表

Where 班号=”计算机科学技术2010-02”

(二)1、select 学生表.学号,姓名,成绩表.成绩 From 学生表,成绩表

Where 学生表.学号=成绩表.学号 And 成绩>=90

2、select *

From (学生表 inner join 成绩表 on 学生表.学号=成绩表.学号) Inner join 课程表on 课程表.课程号=成绩表.课程号

3、select 课程表.课程号,课程名,成绩

黑龙江*”“ From (学生表 inner join 成绩表 on 学生表.学号=成绩表.学号) Inner join 课程表 on 课程表.课程号=成绩表.课程号 Where 姓名=”郭达雷”

4、select 学生表.学号,姓名,课程表.课程号,课程名,成绩,班级表.班号 From (班级表 inner join 学生表 on 班级表.班号=学生表.班号) Inner join

(课程表 inner join 成绩表 on 课程表.课程号=成绩表.课程号) Where 班级表.班号=”统计学081”

5、select 姓名,sum(学分) as 学分合计

From (学生表 inner join 成绩表 on 学生表.学号=成绩表.学号) Inner join 课程表 on 课程表.课程号=成绩表.课程号 Group by 姓名

Order by sum(学分) desc

6、select 姓名,sum(学分) as 学分合计

From (学生表 inner join 成绩表 on 学生表.学号=成绩表.学号) Inner join 课程表 on 课程表.课程号=成绩表.课程号 Group by 姓名

Having sum(学分) >=11 (三)1、不会

2、select 学生表.学号,成绩表.成绩,课程表.课程

From (学生表 inner join 成绩表 on 学生表.学号=成绩表.成绩) Inner join 课程表 on 课程表.课程号=成绩表.课程号 Where 成绩>=60

3、select distinct 籍贯 From 学生表 Order by 籍贯

4、select 人数,count(*)

From 班级表 inner join 学生表 on 班级表.班号=学生表.班号

Where 学生表.民族<>”汉” and 学生表.出生日期=#1990# or 出生日期=#1992#

5、select 学生表.学号,成绩表.课程号,max(成绩) as 最高分 From 学生表 inner join 成绩表 on 学生表.学号=成绩表.学号 Where max(成绩) as 最高分

6、select 学生表.学号,姓名,成绩表.课程号,成绩

From 学生表 inner join 成绩表 on 学生表.学号=成绩表.学号 Where 成绩> all

7、select 学号,姓名,班级号,籍贯

From 学生表 inner join 班级表 on 学生表.班号=班级表.班号 Where 班号 in (select 班号 from 学生表

Where 学生表.姓名=”杨小建” or 学生表.姓名=”万智”)

8、select 学生表.学号,姓名,成绩表.课程号,成绩

From 学生表 inner join 成绩表 on 学生表.学号=成绩表.学号 Where 成绩表.课程表=”A0101” and 成绩表.课程号=”B1001” Order by 学号

9、select 学生表.学号,姓名,班号,count(课程表.学分) as 总分 From 学生表,课程表

Where count(课程表.学分) as 总分 >=30

10、select 成绩表.学号,成绩,课程表.课程名

From 成绩表 inner join 课程表 on 成绩表.课程号=课程表.课程号 Where 课程名=”邓小平理论” 二、(一)

1、 select 姓名,单位

From ((读者表 inner join 借阅表 on 读者表.证件号=借阅表.证件号)

Inner join 图书条码表 on 借阅表.条码号=图书条码表.条码号) Inner join 图书表 on 图书表.索书号=图书条码表.索书号

Where 图书表.作者=”洪应明”

2、select 书名

From ((读者表 inner join 借阅表 on 读者表.证件号=借阅表.证件号)

Inner join 图书条码表 on 借阅表.条码号=图书条码表.条码号) Inner join 图书表 on 图书表.索书号=图书条码表.索书号

Where 读者表.姓名=”欧阳宇玉”

3、select 姓名,单位

From 读者表 inner join 借阅表 on 读者表.证件号=借阅表.证件号 Where 借阅表.超期天数<> 0

4、select 姓名,sum(单位) as 人数

From 读者表 inner join 借阅表 on 读者表.证件号=借阅表.证件号 Where 借阅表.超期天数<>0 Group by 单位

5、select 单位,count(读者)

From 读者表 inner join 借阅表 on 读者表.证件号=借阅表.证件号 Where 借阅表.超期天数<>0 and count(读者)>75

6、select max(价格) as 最高单价,avg(价格) as 平均单价,count(出版社) as 册数 From 图书表

(二)1、select *

From 图书,借阅,读者,图书分类 Where 读者.读者编号=借阅.读者编号 And 图书.图书编号=借阅.图书编号 And 图书分类.分类号=图书.分类号

And 分类名称 like “文学*”

2、select 姓名,证件号 From 读者表

Where mid(“*1998*”)

3、SELECT 读者.读者编号,姓名,图书名称,借阅日期 from 图书,借阅,读者

where 读者.读者编号=借阅.读者编号 and 图书.图书编号=借阅.图书编号 and 工作单位=\江西财经大学国际学院\ and 是否归还=no;

4、SELECT 读者.读者编号,姓名,图书.图书编号,图书名称 from 读者,借阅,图书

where 读者.读者编号=借阅.读者编号 and 图书.图书编号=借阅.图书编号 and 读者.读者编号 in(select 读者编号 from 借阅 group by 读者编号 having count(*)>=3) order by 读者.读者编号 desc;

5、SELECT 读者.读者编号,姓名,图书.图书编号,图书名称,借阅日期 from 读者,图书,借阅

where 读者.读者编号=借阅.读者编号 and 图书.图书编号=借阅.图书编号

and year(借阅日期) between 2008 and 2010

6、SELECT 读者编号,姓名,mid(身份证号,7,8) as 出生日期 from 读者

where 读者编号 not in (select 读者编号 from 借阅,图书,图书分类 where 图书.图书编号=借阅.图书编号 and 图书分类.分类号=图书.分类号 and 分类名称=\管理类\

7、select 分类号,max(价格) as 最高价格,avg(价格) as 平均价格 From 图书表,图书分类表

Order by max(价格) as 最高价格 desc

8、update 图书 Set 单价=单价*110%

Where 出版社=”清华大学出版社”

9、update 图书 set 单价=单价-5

where 分类号 in (select 分类号 from 图书分类 where 分类名称 = \计算机应用类\

10、insert into 借阅 values

('06-00008','003-000024',#2007-03-25#,#2007-05-25#,no) 11、delete from 借阅 where 图书分类.分类名=”艺术类”

12、delete from 借阅 where 读者编号 in

(select 读者编号 from 读者 where 姓名=\马永强\

本文来源:https://www.bwwdw.com/article/6cnt.html

Top