- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SQL第三章复习题
1. 现有关系数据库如下:
学生(学号,姓名,性别,专业,奖学金)。
课程(课程号,名称,学分)。
学习(学号,课程号,分数)。
检索不学课程号为C135课程的学生信息,包括学号,姓名和专业。
SELECT FROM 学生 WHERE 学号 NOT IN (SELECT 学号 FROM 学习 WHERE 课程号=C135);
(2)检索至少学过课程号为C135和C219的学生信息,包括学号、姓名和专业。
SELECT FROM 学生 WHERE 学号 IN (SELECT X. 学号 FROM 学习 AS X, 学习AS Y WHERE X. 学号=Y. 学号 AND X. 课程号=C135 AND X 课程号=’C219’);
(3)从学生表中删除成绩出现过0分的所有学生信息。
DELETE FROM WHERE 学号 IN (SELECT 学号 FROM 学习 WHERE 分数=0);
(4)定义英语专业学生所学课程的信息视图AAA,包括学号、姓名、课程号和分数。
CREATE VIEW AAA()
AS SELECT 学号,姓名,课程号,分数
FROM 学生,学习
WHERE 学生. 学号 =学习. 学号 AND 专业=’英语’;
(5) 检索没有获得奖学金、同时至少有一门课程成绩在95分以上的学生信息,包括学号、姓名和专业。
SELECT . 学号,姓名,专业 FROM 学生,学习 WHERE 学生. 学号=学习. 学号 AND 学习. 课程号=课程. 课程号 AND 奖学金=0 AND 分数95;
(6) 检索没有任何一门课程成绩在80分以下的所有学生的信息,包括学号、姓名和专业。
SELECT FROM 学生 WHERE 学号 NOT IN (SELECT 学号 FROM 学习 WHERE 分数80);
(7)对成绩得过满分(100分)的学生,如果没有获得奖学金的,将其奖学金设为1000元。
UPDATE SET 奖学金=1000 WHERE 奖学金=0 AND 学号 IN (SELECT 学号 FROM 学习 WHERE 分数=100);
(8) 定义学生成绩得过满分(100分)的课程视图AAA,包括课程号、名称和学分。
CREATE VIEW AAA()
AS SELECT 课程号,名称,学分
FORM 课程
WHERE 课程号 IN
(SELECT 课程号 FROM 学习 WHERE 分数=100);
假设数据库中有以下关系:
CUSTOMERS(cid,cname,city,discnt)
PRODUCTS(pid,pname,city,quantity,price)
AGENTS(aid,aname,city,percent)
ORDERS(ordno,month,cid,aid,pid,qty,dollars)
以下题目除非特别声明,都是对应于上面的四个关系。
检索至少被两位顾客购买的产品号。
成对的检索出在同一个城市的顾客。
检索出购买某个产品,并且这个产品被经销商a06经销的顾客编号。
检索出通过在城市“DULUTH”或者城市“DALLA”购买产品的顾客编号。
检索出所有通过在城市“DULUTH”或者城市“DALLA“购买产品的顾客的名字和所获得的折扣。
检索出购买p05产品的顾客。
检索出被“DULUTH”城市的顾客通过“NEW YORK“城市的经销商定货的订单。
检索出和在城市‘BOSTON‘的顾客有相同的折扣的所有顾客。
检索出折扣比在城市‘BOSTON‘的所有顾客的折扣都要低的顾客。
检索出通过经销商a05订货的所有顾客。
检索出没有通过经销商a05订货的所有顾客。
检索出被所有在城市‘BOSTON‘的顾客订购的产品。
答案:
SELECT DISTINCT X1.PID
FROM ORDERS AS X1,ORDERS AS X2
WHERE X1.PID=X2.PID
AND XI.CIDX2.CID;
2.SELECT C1.CID,C2.CID
FROM CUSTOMERS AS CI, CUSTOMERS AS C2
WHERE CI.CITY=C2.CITY
AND C1.CIDC2.CID;
3.SELECT DISTINCT Y.CID
FROM ORDERS AS X,ORDERS AS Y
WHERE Y.PID=X.PID
AND X.AID=’A06’;
4.SELECT DISTINCT CID
FROM ORDERS
WHERE AID IN(SELECT AID
FROM AGENTS
WHERECITY=’DULUTH’
OR CITY=’DALLA’);
5.SELECT CNAME,DISCNT
文档评论(0)