《数据库系统原理》实验报告(2)
nationkey INTEGER REFERENCES Nation(nationkey), phone CHAR(15), acctbal REAL,
mktsegment CHAR(10), comment VARCHAR(117)); CREATE TABLE Orders(
orderkey INTEGER PRIMARY KEY,
custkey INTEGER REFERENCES Customer(custkey), orderstatus CHAR(1), totalprice REAL, orderdate DATE,
orderpriority INTEGER, comment VARCHAR(79)); CREATE TABLE Lineitem(
orderkey INTEGER REFERENCES Order(orderkey), partkey INTEGER REFERENCES Part(partkey),
suppkey INTEGER REFERENCES Supplier(suppkey), linenumber INTEGER, quantity REAL,
extendedprice REAL, discount REAL, tax REAL,
returnflag CHAR(1), linestatus CHAR(1), shipinstruct CHAR(25), shipmode CHAR(10), comment VARCHAR(44),
PRIMARY KEY(orderkey,linenumber),
FOREIGN KEY(Partkey,suppkey) REFERENCES PartSupp(partkey,suppkey)); 2、数据基本查询
(1)单表查询(实现投影操作)
查询供应商的名称、地址和联系电话。
SELECTE name,address,phone FROMSupplier; (2)单表查询(实现选择操作)
查询最近一周内提交的总价大于1000元的订单的编号、顾客编号等订单的所有信息。
SELECT *FROM Sales.Orders WHERE CURRENT_DATE-orderdata<7 AND totalprice >1000;
(3)不带分组过滤条件的分组统计查询 统计每个顾客的订购金额
SELECT C.custkey ,SUM(O.totalprice) FROM customer C,Orders O WHERE C.custkey=O.custkey GROUP BY C.custkey;
(4)带分组过滤条件的分组统计查询
查询订单平均金额超过1000元的顾客编号及其姓名 SELECT C.custkey,MAX(C.name) FROM Customer C,Orders O WHERE C.custkey=O.custkey GROUP BY C.custkey;
HAVING AVG(O.totalprice)>1000; (5)表单自身连接查询
查询与“金仓集团”在同一个国家的供应商编号、名称和地址信息。 SELECT F.suppkey,F.name,F.address FROM Supplier F,Supplier S
WHERE F.nationkey=S.nationkey AND S.name='金仓集团'; (6)两表连接查询(普通连接)
查询供应价格大于零售价格的零件名、制造商名、零售价格和供应价格。 SELECT P.name,P.mfgr,P.retailprice,PS.supplycost FROM Part P,Partsupp PS
WHERE P.retailprice>PS.supplycost; (7)两表连接查询(自然连接)
查询供应价格大于零售价格的零件名、制造商名、零售价格和供应价格。 SELECT P.name,P.mfgr,P.retailprice,PS.supplycost FROM Part P,Partsupp PS
WHERE P.partkey=PS.partkey AND P.retailprice>PS.supplycost; (8)三表连接查询
查询顾客“苏举库”订购的订单编号、总价及其订购的零件编号、数量和明细价格。
SELECT O.orderkey,O.totalprice,L.partkey,L.quantity,L.extendedprice FROM Custom C,Orders O,Lineitem L
WHERE C.custkey=O.custkey AND O.orderkey=L.orderkey AND C.name='苏举库'; 3、数据高级查询实验 (1)IN嵌套查询
查询订购了“海大”制造的“船舶模拟驾驶舱”的顾客。 SELECT custkey,name FROM Customer
WHERE custkey IN ( SELECT O.custkey FROM Orders O,Lineitme L,PartSupp PS,Part P WHERE O.orderkey=L.orderkey AND L.partkey=PS.partkey AND L.suppkey=PS.suppkey AND PS.partkey=P.partkey AND P.mfgr='海大' AND P.name='船舶模拟驾驶舱'); SELECT custkey,name FROM Customer
WHERE cuskey IN ( SELECT O.custkey
FROM Orders O,Lineitem L,Part P WHERE O.orderkey=L.orderkey AND L.partkey=P.partkey AND p.mfgr='海大' AND P.name='船舶模拟驾驶舱'); (2)单层EXISTS嵌套查询
查询没有购买过“海大”制造的“船舶模拟驾驶舱”的顾客。 SELECT custkey,name FROM Customer
WHERE NOT EXISTS( SELECT O.custkey FROM Orders O,Lineitem L,PartSupp PS,Part P WHERE C.cuskey=O.custkey AND O.orderkey=L.orderkey AND L.partkey=PS.partkey AND L.suppkey=PS.suppkey AND PS.partkey=P.partkey AND p.mfgr='海大' AND P.name='船舶模拟驾驶舱'); (3)双层EXISTS嵌套查询
查询至少购买过顾客“张三”购买过的全部零件的顾客姓名。 SELECT CA.name FROM Customer CA WHERE NOT EXISTS (SELECT *
FROM Customer CB,Oders OB,Lineitem LB WHERE CB.custkey=OB.custkey AND OB.orderkey=LB.orderkey AND CB.name='张三' AND NOT EXISTS(SELECT * FROM Orders OC,Lineitem LC WHERE CA.custkey=LC.custkey AND OC.orderkey=LC.orderkey AND LB.suppkey=LC.suppkey AND LB.partkey=LC.partkey)); (4)FROM子句中的嵌套查询
查询订单平均金额超过1万元的顾客中的中国籍顾客信息。 SELECT C.*
FROM Customer C,(SELECT custkey FROM Orders GROUP BY custkey HAVING AVG(totalprice)>10000) B,Nation N WHERE C.custkey=B.custkey AND C.nationkey=N.nationkey AND N.name='中国'; (5)集合查询(交)
查询顾客“张三”和“李四”都订购过的全部零件的信息。 SELECT P.*
FROM Customer C,Orders O,Lineitem L,PartSupp PS,Part P WHERE C.custkey=O.custkey AND O.orderkey=L.orderkey AND L.suppkey=PS.suppkey AND L.partkey=PS.partkey AND PS.partkey=P.partkey AND C.name='李四'; INTERSECTION SELECT P.*
FROM Customer C,Orders O,Lineitem L,PartSupp PS,Part P WHERE C.cuskey=O.custkey AND O.orderkey=L.orderkey AND L.partkey=PS.partkey AND L.suppkey=PS.suppkey AND PS.partkey=P.partkey AND C.name='李四'; (6)集合查询(并)
查询顾客“张三”和“李四”订购的全部零件的信息。 SELECT P.*
FROM Customer C,Orders O,Lineitem L,PartSupp PS,Part P WHERE C.cuskey=O.custkey AND O.orderkey=L.orderkey AND L.partkey=PS.partkey AND L.suppkey=PS.suppkey AND PS.partkey=P.partkey AND C.name='张三'; UNION SELECT P.* …… 此处隐藏:2155字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [实用模板]第八章:法国“新浪潮”与“左岸派”
- [实用模板]2021年北京上半年临床医学检验技师生物
- [实用模板]SAP GUI 7.10客户端安装配置文档
- [实用模板]2001年临床执业医师资格考试综合笔试试
- [实用模板]36机场工作实用英语词汇总结
- [实用模板](一)社会保险稽核通知书
- [实用模板]安全教育主题班会材料
- [实用模板]濉溪县春季呼吸道传染病防控应急演练方
- [实用模板]长沙房地产市场周报(1.30-2.3)
- [实用模板]六年级数学上册典中点 - 图文
- [实用模板]C程序设计(红皮书)习题官方参考答案
- [实用模板]中国证监会第一届创业板发行审核委员会
- [实用模板]桥梁工程复习题
- [实用模板]2011学而思数学及答案
- [实用模板]初中病句修改专项练习
- [实用模板]监理学习知识1 - 图文
- [实用模板]小机灵杯四年级试题
- [实用模板]国贸专业毕业论文模板
- [实用模板]教育学概论考试练习题-判断题4
- [实用模板]2015届高考英语一轮复习精品资料(译林
- 00Nkmhe_市场营销学工商管理_电子商务_
- 事业单位考试法律常识
- 诚信教育实施方案
- 吉大小天鹅食品安全检测箱方案(高中低
- 房地产销售培训资料
- 高一地理必修1复习提纲
- 新概念英语第二册lesson_1_练习题
- 证券公司内部培训资料
- 小学英语时间介词专项练习
- 新世纪英语专业综合教程(第二版)第1册U
- 【新课标】浙教版最新2018年八年级数学
- 工程建设管理纲要
- 外研版 必修一Module 4 A Social Surve
- Adobe认证考试 AE复习资料
- 基于H.264AVC与AVS标准的帧内预测技术
- 《食品检验机构资质认定管理办法》(质
- ABB变频器培训课件
- (完整版)小学说明文阅读练习题及答案
- 深思洛克(SenseLock) 深思IV,深思4,深
- 弟子规全文带拼音




