SQL数据库期中测试及答案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据库及应用期中测试

班级__________学号__________姓名__________成绩

一、

设有一个顾客商品关系数据库,有三个基本表,表结构如下:

商品表:Article (商品号,商品名,单价,库存量)

客户表:Customer (顾客号,顾客名,性别,年龄,电话)

订单表:OrderItem (顾客号,商品号,数量,购买价,日期)

注意:回答时要将答案写到规定的地方;给出的答案要求字迹必须清楚;不允许改变程序结构和随意添加子查询。

1.请用SQL语言找出女顾客购买的商品号、商品名和数量合计。(6分)

SELECT OrderItem.商品号AS商品号, OrderItem.商品名AS商品名,SUM(OrderItem.数量) AS 数量合计

FROM OrderItem, Artcle, Customer,

WHERE Artcle.商品号= OrderItem.商品号AND OrderItem.顾客号= Customer.顾客号AND Customer. 性别='女'

GROUP BY OrderItem.商品号,商品名;

二、现有关系数据库如下:

学生(学号,姓名,性别,专业,奖学金);课程(课程号,名称,学分);

学习(学号,课程号,分数)

用关系代数表达式实现下列4小题:(每小题5分,共20分)

(1)检索“英语”专业学生所学课程的信息,包括学号、姓名、课程名和分数。

(2)检索“数据库原理”课程成绩高于90分的所有学生的学号、姓名专业和分数。

(3)检索不学课程号为“C135”课程的学生信息,包括学号、姓名和专业。

(4)检索没有任何一门课程成绩不及格的所有学生的信息,包括学号、姓名和专业

1.Π学号,姓名,课程名,分数(σ专业=‘英语’(学生∞学习∞课程))(3

分)

2.Π学号,姓名,专业,分数(σ分数)90∧名称=‘数据库系统原理’(学生∞学习∞课程))

(3分)

3.Π学号,姓名,专业(学生)-Π学号,姓名,专业(σ课程号=‘C135’(学生∞学习))

(3分)

4.Π学号,姓名,专业(学生)-Π学号,姓名,专业(σ分数《60(学生∞学习))(3

分)

三、设关系模式 SCG ( S#, C#, grade )中 S# 为学生号, C #为课程号, grade 为某学生学某号课程的考试成绩。今要查询平均分数超过 80 分的课程的平均成绩,且要求查询的结果按平均成绩升序排列,平均成绩相同时,按课程号降序排列。写出 SQL 查询。( 10 分)

Select c#,avg(grade) avggrade

From SCG

Group by c#

Having avggrade>80

Order by avggrade asc,c# dece

四、有雇员表emp(empno,ename,age,sal,tel,deptno),

其中:empno-----编号,name------姓名,age -------年齡,sal-----工资,tel-----电话

deptno-----部门号。请按下列要求分别写出相应SQL语句。(每小题5分,共25分)

(1)查询家有电话的职工信息。

(2)查询工资在500至800元之间的雇员信息

(3)按年龄递增顺序显示雇员编号、姓名、年龄、工资

(4)求部门号为D_01的平均工资

(5)找部门号为D_01的40岁以上而工资在400元以下的雇员名单。

1.SELECT * FROM emp WHERE tel is NOT NULL; (5分)

2.SELECT * FROM emp WHERE BETWEEN 500 AND 800; (5分)

3.SELECT empno,ename,age,sal FROM emp ORDER BY age ASC; (5

分)

4.SELECT A VG(sal) FROM emp WHERE deptno='D_01'; (5分)

5.SELECT ename FROM emp WHERE deptno='D_01' AND age>40 AND

Sal<400; (5分)

五、设有四个关系

S(SNO,SNAME, ADDRESS,TEL)

SNO:供应商代码 SNAME:姓名 ADDRESS:地址 TEL:电话

J(JNO,JNAME,LEADER,BG)

JNO:工程代码 JNAME:工程名 LEADER:负责人 BG:预算

P(PNO,PNAME,SPEC,CITY,COLOR)

PNO:零件代码 PNAME:零件名 SPEC:规格 CITY:产地 COLOR:颜色

SPJ(SNO,JNO,PNO,QTY)

SNO:供应商代码 JNO:工程代码 PNO:零件代码 QTY:数量

用关系代数表达式实现下列1-4小题:(12分)

(1)找出所有供应商的姓名和地址、电话。

(2)找出所有零件的名称、规格、产地。

(3)找出使用供应商代码为S1供应零件的工程号。

(4)找出工程代码为J2的工程使用的所有零件名称、数量。

用SQL语言实现下列5-10小题:(18分)

(5)找出所有供应商的姓名和地址、电话。

(6)找出所有零件的名称、规格、产地。

(7)找出使用供应商代码为S1供应零件的工程号。

(8)找出工程代码为J2的工程使用的所有零件名称、数量。

(9)找出产地为上海的所有零件代码和规格。

(10)找出使用上海产的零件的工程名称。

1、Πsname,address,tel(s)

2、Πpname,spec,city(p)

3、Πjno(σpno=’S1’(spj))

4、Πpname,qty(σjno=’J2’(p∞spj))

5、SELECT sname,address,tel FROM S;

6、SELECT pname,spec,city FROM p;

7、SELECT DISTINCT jno FROM spj WHERE pno=‘S1’; 8、SELECT pname, qty FROM p,spj

WHERE p.pno=spj.pno AND jno=‘J2’;

9、SELECT pno,spec FROM p

WHERE city=‘上海’;

10、SELECT a.jno,b.jname from spj a,j b,p c

WHERE a.jno=b.jno AND a.pno=c.pno and c.city=‘上海’

学生信息表(表名为STUDENT

选课信息表(表名为SKB)

写出下列语句执行后的结果

1、SELECT 课号,MAX(成绩) AS 最高成绩FROM SKB GROUP BY 课号。(4分)

相关文档
最新文档