SQL语句习题11
更新时间:2024-06-15 23:14:01 阅读量: 综合文库 文档下载
- sQl语句推荐度:
- 相关推荐
设某商业集团关于商店销售商品的数据库中有三个基本表: 商店 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;
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语句习题1106-15
2018年河北科技大学思想政治理论课教学部821毛泽东思想和中国特色社会主义理论体系概论考研冲刺狂背五套题04-30
防暑降温工作管理制度03-27
配合物平衡06-18
五年级下语文课外名著阅读专项训练之《西游记》(六)人教部编版04-13
毕业设计中班语言活动:儿歌《哈哈镜》03-28
普通话命题说话30篇(教师资格证)10-16
技术标青少年活动中心204-29
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 习题
- 语句
- SQL
- 受限空间作业施工方案
- 川大《土木工程经济1446》14秋在线作业1答案
- 莆田市住宅前期物业服务标准及收费指导价
- 《布鲁姆教育目标分类学》读书报告
- 奥鹏《当代世界经济与政治》考核作业2-2
- 技能大师工作室年度总结
- 人教版物理八年级上册同步训练:第五章第二节生活中的透镜
- xx科技有限公司创业计划书 - 图文
- 浅谈一种基于Kinect的体感交互应用开发方法
- 对联艺术 2
- 信阳师范学院《教育科研方法》考试版本
- 全国基本风压、雪压数值表
- 三轮复习高考语文满分答题技巧总结
- 二连党支部规范处置不合格党员
- 《五行精纪》
- 房屋安全鉴定报告
- 叶晓炜
- 2018在应对挑战中牢牢掌握网络意识形态工作领导权管理权话语权
- 公共基础知识之马克思主义哲学
- 全球及中国致密气市场现状与未来前景预测报告(2017版)(目录)