SQL语句习题11
更新时间:2023-11-22 22:12:02 阅读量: 教育文库 文档下载
设某商业集团关于商店销售商品的数据库中有三个基本表: 商店 SHOP(S#,SNAME,AREA,MGR_NAME)
其属性是商店编号,商店名称,区域名,经理姓名。 销售 SALE(S#,G#, QUANTITY)
其属性是商店编号,商品编号,销售数量。
商品 GOODS(G#,GNAME,PRICE)
其属性是商品编号,商品名称,单价。
36.试写出下列查询的关系代数表达式、元组表达式和关系逻辑规则: 检索销售“冰箱”的商店的编号和商店名称。
37.试写出上面第36题的SELECT语句表达形式。并写出该查询的图示形式。 38.试写出下列操作的SQL语句:
从SALE表中,把“开开商店”中销售单价高于1000元的商品的销售元组全部删除。
39.写一个断言,要求区域名为“EAST”的商店里销售商品的单价不能低于100元。
40.试写出下列操作的SQL语句: 统计区域名为“EAST”的所有商店销售的每一种商品的总数量和总价值。 要求显示(G#,GNAME,SUM_QUANTITY,SUM_VALUE),其属性为商品编号、商品名称、销售数量、销售价值。 37.解:SELECT语句如下: SELECT A.S#,SNAME
FROM SHOP A,SALE B,GOODS C
WHERE A.S#=B.S# AND B.G#=C.G# AND GNAME='冰箱';
该查询语句的图示形式如下:
SHOP S# SNAME AREA MGR_NAME P._X P. SALE S# G# QUANTITY GOODS G# GNAME PRICE _X _Y _Y 冰箱 38.解:DELETE FROM SALE WHERE S# IN(SELECT S# FROM SHOP
WHERE SNAME='开开商店') AND G# IN(SELECT G#
FROM GOODS
WHERE PRICE>1000); 39.解:CREATE ASSERTION ASSE8 CHECK (100<=ALL(SELECT PRICE
FROM SHOP A,SALE B,GOODS C
WHERE A.S#=B.S# AND B.G#=C.G# AND AREA='EAST')); 或 CREATE ASSERTION ASSE8 CHECK (NOT EXISTS(SELECT *
FROM SHOP A,SALE B,GOODS C WHERE A.S#=B.S# AND B.G#=C.G#
AND AREA='EAST' AND PRICE<100));
40.解:SELECT C.G#,GNAME,SUM(QUANTITY)AS SUM_QUANTITY,
PRICE*SUM(QUANTITY)AS SUM_VALUE
FROM SHOP A,SALE B,GOODS C
WHERE A.S#=B.S# AND B.G#=C.G# AND AREA='EAST' GROUP BY C.G#,GNAME;
(注:SELECT子句中的属性C.G#,GNAME应在分组子句中出现)
36.设数据库中有两个基本表:
职工表 EMP(E#,ENAME,AGE,SALARY,D#),
其属性分别表示职工工号、姓名、年龄、工资和工作部门的编号。
部门表 DEPT(D#,DNAME,MGR#),
其属性分别表示部门编号、部门名称和部门经理的职工工号。
试指出每个表的主键和外键。并写出每个表创建语句中的外键子句。
37. 在第36题的两个基本表中,写出下列查询的关系代数表达式和SQL语
句:
检索每个部门经理的工资,要求显示其部门编号、部门名称、经理工号、经理姓名和经理工资。
36.答:EMP表的主键为E#,外键为D#。 DEPT表的主键为D#,外键为MGR#
在EMP表的创建语句中,可写一个外键子句: FOREIGN KEY D# REFERENCES DEPT(D#); 在DEPT表的创建语句中,可写一个外键子句: FOREIGN KEY MGR# REFERENCES EMP(E#);
37.答:关系表达式为:πDEPT.D#,DNAME,MGR#,ENAME,SALARY(DEPT ? EMP) SELECT语句为: MGR#=E# SELECT DEPT.D#,DNAME,MGR#,ENAME,SALARY FROM DEPT,EMP WHERE MGR#=E#;
31.设某商业集团为仓库存储商品设计了三个基本表: 仓库 STORE(S#,SNAME,SADDR),其属性是仓库编号、仓库名称和地址。
存储 SG(S#,G#,QUANTITY),其属性是仓库编号、商品编号和数量。 商品 GOODS(G#,GNAME,PRICE), 其属性是商品编号、商品名称和单价
现检索仓库名称为“莘庄”的仓库里存储的商品的编号和名称。试写出相应的关系代数表达式、元组表达式、关系逻辑规则和SELECT语句。 32.在第31题的基本表中,检索存储全部种类商品的仓库的编号及名称。试写
出相应的关系代数表达式、元组表达式、关系逻辑规则和SELECT语句。 33.在第31题的基本表中,检索每个仓库存储商品的总价值。试写出相应的
SELECT语句。要求显示(S#,SUM_VALUE),其属性为仓库编号及该库存储商品的总价值。
34.在第31题的基本表中,写一个断言,规定每个仓库存储商品的单价为1万
元以上的商品种类最多为20种。
31.解:关系代数表达式为:πG#,GNAME(σSNAME= '莘庄'(STORE?SG?GOODS)) 元组表达式为:{ t | (?u) (?v) (?w) (GOODS(u)∧SG(v)∧STORE(w)
∧u[1]=v[2]∧v[1]=w[1]∧w[2]= '莘庄'∧
t[1]=u[1]∧t[2]=u[2])}
关系逻辑规则如下:
W(x,y)?GOODS(x,y,a)∧SG(b,x,c)∧STORE(b,'莘庄',d)
SELECT语句为:
SELECT A.G#,GNAME
FROM GOODS AS A,SG AS B,STORE AS C
WHERE A.G#=B.G# AND B.S#=C.S# AND SNAME= '莘庄';
32.解:关系代数表达式为:
πS#,SNAME(STORE?(πS#,G#(SG)÷πG#(GOODS))) 元组表达式为:
{ t | (?u) (?v) (?w) (STORE(u) ∧ GOODS(v)∧ SG(w) ∧ w[1]=u[1]
∧ w[2]=v[1] ∧ t[1]=u[1] ∧ t[2]=u[2])}
关系逻辑规则如下:
W(x,y)← STORE(x,y,a)∧┐GOODS(b,c,d)∧┐SG(x,b,e) SELECT语句为: SELECT S#,SNAME FROM STORE
WHERE NOT EXISTS
(SELECT * FROM GOODS
WHERE NOT EXISTS
(SELECT * FROM SG
WHERE SG.S#=STORE.S# AND SG.G#=GOODS.G#));
33.解:SELECT语句为:
SELECT S#,SUM(QUANTITY *PRICE)AS SUM_VALUE FROM SG,GOODS
WHERE SG.G#=GOODS.G# GROUP BY S#;
34.解:CREATE ASSERTION ASSE6 CHECK
(20>=ALL(SELECT COUNT(SG.G#)
FROM SG,GOODS
WHERE SG.G#=GOODS.G# AND PRICE>10000 GROUP BY S#));
现有关系数据库如下:
部门(部门编号,部门名称,电话)
员工(员工编号,姓名,性别,部门编号,职务) 项目(项目编号,项目名称,预算) 施工(员工编号,项目编号,工时) 用关系代数表达式实现下列1—2小题:
1.检索“王小毛”的员工的部门编号和职务;
2.检索工时超过100小时的项目名称和员工的姓名; 用SQL语言实现下列3—7小题:
3.查询每个员工的姓名,并按职称降序排列;
4.查询总工时在480小时以上(含480小时)的员工编号和总工时; 5.检索职称为“高级工程师”,同时至少参加了一预算在100万以上的项目的员工的姓名和部门名称;
6.定义一个工作量视图,包含的属性有员工编号、姓名、项目名称和工时。 7.对项目名称为“高教新区项目”的施工工时增加50小时; 1.π部门编号,职务 (σ姓名=‘王小毛’(员工)) 2. π
项目名称,姓名
(σ
工时)100
(施工)项目员工))
3.SELECT 姓名 FROM 员工 ORDER BY 职称 DESC 4.SELECT 员工编号,SUM(工时) FROM 施工 GROUP BY 员工编号 HAVING SUM(工时)>=480 5. SELECT 姓名,部门名称
FROM 员工,部门,项目,施工
WHERE 部门.部门编号=员工.部门编号 AND 员工.员工编号=施工.员工编号
AND 施工.项目编号=项目.项目编号 AND 职称=‘高级工程师’ AND 预算>1000000
6. CREATE VIEW 工作量( 员工编号,姓名,项目名称,工时) AS SELECT员工.员工编号,姓名,项目名称,工时 FROM 员工,项目,施工
WHERE员工.员工编号=施工.员工编号AND 施工.项目编号=项目.项目编号
7.UPDATE 施工SET 工时=工时+50 WHERE 项目编号 IN
(SELECT 项目编号FROM 项目WHERE 项目名称=‘高教新区项目’)
37. 图书出版管理数据库中有两个基本表:
图书 (书号,书名,作者编号,出版社,出版日期) 作者 (作者编号,作者名,年龄,地址) 试用SQL语句写出下列查询:检索年龄低于作者平均年龄的所有作者的作者名、书名和出版社。
39. 学校有多名学生,财务处每年要收一次学费。为财务处收学费工作设计一个数据库,包括两个关系:
学生 (学号,姓名,专业,入学日期)
收费 (学年,学号,学费,书费,总金额)
假设规定属性的类型:学费、书费、总金额为数值型数据;学号、姓名、学年、专业为字符型数据;入学日期为日期型数据。列的宽度自定义。试用SQL语句定义上述表的结构。(定义中应包括主键子句和外键子句)
37. SELECT 作者名,书名,出版社 FROM 图书,作者 WHERE 图书 . 作者编号 = 作者 . 作者编号 AND 年龄 < = (SELECT AVG (年龄) FROM 作者);
39. CREATE TABLE 学生
(学号 CHAR (8), 姓名 CHAR (8), 专业 CHAR (13), 入学日期 DATE, PRIMARY KEY (学号)); CREATE TABLE 收费 (学年 CHAR (10), 学号 CHAR (8), 学费 NUMERIC (4), 书费 NUMERIC (5,2), 总金额 NUMERIC (7,2), PRIMARY KEY (学年,学号), FOREIGN KEY (学号) REFERENCES 学生 (学号));
现有关系数据库如下:学生(学号,姓名,性别,专业,奖学金)课程(课程号,名称,学分)学习(学号,课程号,分数)
5.检索不学课程号为“C135”课程的学生信息,包括学号,姓名和专业;
6.检索至少学过课程号为“C135”和“C219”的学生信息,包括学号、姓名和专业; 7.从学生表中删除成绩出现过0分的所有学生信息;
8.定义“英语”专业学生所学课程的信息视图AAA,包括学号、姓名、课程号和分数。 5.SELECT 学号,姓名,专业
FROM 学生WHERE 学号 NOT IN(SELECT 学号FROM 学习WHERE 课程号='C135') 6.SELECT 学号,姓名,专业FROM 学生WHERE 学号 IN(SELECT X. 学号 FROM 学习 X, 学习 YWHERE X.学号=Y.学号 AND X.课程号='C135' AND Y.课程号=’C219’)
7.DELETE FROM 学生WHERE 学号 IN(SELECT 学号FROM 学习WHERE 分数=0) 8.CREATE VIEW AAA(学号,姓名,课程号,分数)AS SELECT 学号,姓名,课程号,分数FROM 学生,学习WHERE 学生.学号 =学习.学号 AND 专业=’英语’
1. 用SQL的有关语句定义
1) 学生关系Student,包括学号Sno、姓名SN、年龄SA;
2) 课程关系Course,包括课程号Cno、课程名CN、任课教师CT; 3) 学生选课关系,包括Sno、Cno和成绩G。 注意:说明主键码和外键码(如果有的话),并在键码属性上建立索引。 (12分)
2. 按题1的学生关系模式,用SQL的有关语句
1) 授予赵华对学生关系Student的插入和修改权限; 2) 插入任意3个学生的完整信息; 3) 修改所有学生的年龄(加1)。 (12分)
3. 结合题1定义的学生选课数据库,用SQL语句查询计算机系学生数据库课的成绩,输
出学生姓名和成绩,按成绩排序(降序),若成绩相同,再按学号排序(升序)。 (6分)
1.1)
CREATE TABLE Student( Sno INT PRIMARY KEY, SN CHAR(30), SA INT );
2) CREATE TABEL Course(
Cno INT PRIMARY KEY, CN CHAR(30), CT CHAR(30) );
3) CREATE TABEL SC(
Sno INT, Cno INT, G INT,
PRIMAYR KEY(Sno,Cno),
FOREIGN KEY(Sno) REFERENCES Student(Sno), FOREIGN KEY(Cno) REFERENCES Course(Cno) );
2. 1) GRANT INSERT, UPDATE, ON Student TO 赵华; 2) INSERT INTO Student
(TABLE (01001,’赵华’,19), (01002,’李芳’,18), (01003,’刘红’,20), ); 3) UPDATE Student SET SA=SA+1; 3. SELECT SN,G FROM Student,Course,SC
WHERE Student.Sno=SC.Sno AND Course.Cno=SC.Cno
AND Course.CN=’数据库’ORDER BY G DESC,Sno;
正在阅读:
SQL语句习题1111-22
最新外研版高中英语必修1重要知识点归纳05-09
GBF竹芯现浇空心楼盖施工技术方案03-07
初中语文知识点《基础知识及语言表达》《语法》精选课后测试试题(含答案考点及解析)09-16
六合高级中学高三化学第一次综合检测03-17
XX工程弱电工程建设施工组织设计方案04-07
市政工程各工种安全操作规程11-22
冬季养生小知识02-18
无与伦比的母爱作文450字07-08
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 习题
- 语句
- SQL
- 第三章 消费者行为习题
- 仪器分析实验卷子
- 六世祖文喆公后裔概况
- 2017届高考生物二轮复习 专题强化训练(四)细胞呼吸与光合作用 - 图文
- 教研活动实施方案
- 收音机实习心得体会范文
- 乡镇企业专业毕业论文(范文)1
- 2011年12月24日注册纳税筹划师模拟试题
- 电缆燃烧试验机作业指导书
- 大连旅顺口区高档别墅调研报告 - 图文
- 地层压力-地层破裂压力-地层坍塌压力预检测
- 广东版六年级下册综合实践活动教学设计
- 怎么样把书上的字很快的弄成电子版 - 图文
- 广东公务员《科学推理》真题汇总(附答案、知识点) - 图文
- 2015年公务员面试题收集
- 开题报告城市道路交通组织优化分析
- 论《赵氏孤儿》的悲剧性
- 人教版《道德与法治》七年级下册:3.1 青春飞扬 教案
- 谈如何培养小学生解答应用题的能力
- 中考数学分类汇编-锐角三角函数