您好,欢迎访问三七文档
目录1实验目的...............................................................错误!未定义书签。2实验内容...............................................................错误!未定义书签。2.1掌握SQL的DDL使用方法......................错误!未定义书签。2.2掌握SQL的基本查询语句使用方法........错误!未定义书签。3实验要求...............................................................错误!未定义书签。4实验步骤...............................................................错误!未定义书签。4.1掌握SQL的DDL使用方法......................错误!未定义书签。4.2掌握SQL的基本查询语句使用方法........错误!未定义书签。5总结与体会...........................................................错误!未定义书签。5.1实验中出现的问题及其解决方案..............错误!未定义书签。5.2总结..............................................................错误!未定义书签。5.3体会..............................................................错误!未定义书签。1实验目的(1)掌握SQL的DDL使用方法。(2)掌握SQL的基本查询语句使用方法。2实验内容1.1掌握SQL的DDL使用方法(1)使用GBK字符集,创建名为TPCH的数据库。(2)在TPCH数据库中创建名为SALES的模式。(3)在SALES模式下创建TPCH数据库模式。1.2掌握SQL的基本查询语句使用方法(1)单表查询(2)单表单条件查询(3)单表多条件查询(4)两表连接查询(5)单表自身连接查询(6)三表连接查询(7)四表连接查询(8)五表连接查询(9)六表连接查询(10)七表连接查询3实验要求(1)深入复习教材第三章SQL有关数据库定义和基本查询SQL语句,理解关系代数表达式如何使用基本的SQL查询语句实现。(2)理解数据库所使用的各种字符集的区别与联系。(3)请按照附件1生成TPCH数据库模式(注意:故意在附件1中SQL语句中引入了若干错误,需要仔细调试才能运行),要深入理解该数据库模式的含义。(4)通过企业管理器添加数据,或者通过其他的数据自动产生工具自动添加数据,以便进行查询。如果是手动添加数据,请以你班同学当做顾客,国家和地区表的数据参照附件3表中的数据录入(全部或部分数据即可),请从网上搜集尽量真实的零件和供应商信息添加到相应的表中,最后根据购物常识添加订单及其明细信息。(5)根据书上的例子,针对TPCH数据库模式设计各种基本查询语句,每种类型的基本查询至少要设计一个查询,描述清楚查询要求,运行你所设计的查询语句,并截图相应的实验结果,每幅截图并要有较为详细的描述。也可以按照附2所列示例查询做实验。(6)实验步骤和实验总结中要详细描述实验过程中出现的问题、原因和解决方法。4实验步骤1.3掌握SQL的DDL使用方法(1)使用GBK字符集,创建名为TPCH的数据库。(2)在TPCH数据库中创建名为SALES的模式。CREATESCHEMASALES(3)在SALES模式下创建TPCH数据库模式,要求每个表要有主码、外键等基本完整性约束。1.4掌握SQL的基本查询语句使用方法(1)单表查询(实现投影操作)查询供应商的名称、地址和联系电话。SELECTNAME,ADDRESS,PHONEFROMSUPPLIER(2)单表单条件查询(实现选择操作)查询零售价格不超过3元的零件编号、名称及其零售价格。SELECTPARTKEY,NAME,RETAILPRICEFROMPARTWHERERETAILPRICE=3(3)单表多条件查询查询最近一周内提交的总价大于1000元的订单的编号、顾客编号、订单日期和总价等信息。SELECTORDERKEY,CUSTKEY,ORDERDATE,TOTALPRICEFROMORDERSWHERETOTALPRICE1000ANDORDERDATE'2017-05-19'(4)两表连接查询(实现笛卡尔积操作)查询供应商及其所在国家。SELECTSUPPLIER.NAME,NATION.NAMEFROMSUPPLIER,NATION(5)两表连接查询(实现普通连接操作,任意两个列做大于、小于等连接操作)查询供应价格大于零售价格的零件及其供应信息。SELECT*FROMpartsuppPS,PARTPWHEREPS.SUPPLYCOSTP.retailprice(6)两表连接查询(实现等值连接操作)查询供应商及其所在国家。SELECT*FROMSUPPLIERS,NATIONNWHERES.NATIONKEY=N.NATIONKEY(7)两表连接查询(实现自然连接操作)查询供应商及其所在国家。SELECTSUPPKEY,SUPPLIER.NAME,ADDRESS,PHONE,ACCTBAL,SUPPLIER.COMMENT,NATION.NATIONKEY,NATION.NAME,REGIONKEY,NATION.COMMENTFROMSUPPLIER,NATIONWHERESUPPLIER.NATIONKEY=NATION.NATIONKEY(8)单表自身连接查询查询与“冰山集团”在同一个国家的供应商编号、名称和地址信息。SELECTS2.SUPPKEY,S2.NAME,S2.ADDRESSFROMSUPPLIERS1,SUPPLIERS2WHERES1.NAME='冰山集团'ANDS1.NATIONKEY=S2.NATIONKEYANDS2.name!='冰山集团'(9)三表连接查询查询顾客“苏举库”订购的订单编号、总价及其订购的零件编号、数量和实际价格。SELECTL.ORDERKEY,TOTALPRICE,PARTKEY,QUANTITY,EXTENDEDPRICEFROMORDERSO,LINEITEML,CUSTOMERCWHEREC.NAME='苏举库'ANDO.CUSTKEY=C.CUSTKEYANDL.ORDERKEY=O.ORDERKEY(10)四表连接查询查询顾客“苏举库”订购的订单编号、总价及其订购的零件供应价格、数量和实际价格。SELECTO.ORDERKEY,TOTALPRICE,SUPPLYCOST,EXTENDEDPRICE,QUANTITYFROMORDERSO,LINEITEML,CUSTOMERC,PARTSUPPPSWHEREC.NAME='苏举库'ANDO.CUSTKEY=C.CUSTKEYANDL.ORDERKEY=O.ORDERKEYANDPS.PARTKEY=L.PARTKEY(11)五表连接查询查询顾客“苏举库”订购的订单编号、总价及其订购的零件名称、数量和实际价格。SELECTO.ORDERKEY,TOTALPRICE,P.NAME,QUANTITY,EXTENDEDPRICEFROMORDERSO,LINEITEML,CUSTOMERC,PARTSUPPPS,PARTPWHEREC.NAME='苏举库'ANDO.CUSTKEY=C.CUSTKEYANDL.ORDERKEY=O.ORDERKEYANDPS.PARTKEY=L.PARTKEYANDP.PARTKEY=PS.PARTKEY(12)六表连接查询查询顾客“苏举库”订购的订单编号、总价及其订购零件的供应商名称、零件名称、数量、实际价格。SELECTO.ORDERKEY,TOTALPRICE,P.NAME,QUANTITY,EXTENDEDPRICE,S.NAMEFROMORDERSO,LINEITEML,CUSTOMERC,PARTSUPPPS,PARTP,SUPPLIERSWHEREC.NAME='苏举库'ANDO.CUSTKEY=C.CUSTKEYANDL.ORDERKEY=O.ORDERKEYANDPS.PARTKEY=L.PARTKEYANDP.PARTKEY=PS.PARTKEY(13)七表连接查询查询中国顾客订购的订单编号、总价及其订购零件的供应商名称、零件名称、数量、实际价格。SELECTO.ORDERKEY,TOTALPRICE,P.NAME,QUANTITY,EXTENDEDPRICE,S.NAMEFROMORDERSO,LINEITEML,CUSTOMERC,PARTSUPPPS,PARTP,SUPPLIERS,NATIONNWHEREO.CUSTKEY=C.CUSTKEYANDL.ORDERKEY=O.ORDERKEYANDPS.PARTKEY=L.PARTKEYANDP.PARTKEY=PS.PARTKEYANDN.NAME='CHINA'ANDS.NATIONKEY=N.NATIONKEYANDS.SUPPKEY=PS.SUPPKEY;(14)八表查询查询亚洲顾客订购的订单编号、总价及其订购零件的供应商名称、零件名称、数量、实际价格。SELECTO.ORDERKEY,TOTALPRICE,P.NAME,QUANTITY,EXTENDEDPRICE,S.NAMEFROMORDERSO,LINEITEML,CUSTOMERC,PARTSUPPPS,PARTP,SUPPLIERS,NATIONN,REGIONRWHEREO.CUSTKEY=C.CUSTKEYANDL.ORDERKEY=O.ORDERKEYANDPS.PARTKEY=L.PARTKEYANDP.PARTKEY=PS.PARTKEYANDS.SUPPKEY=PS.SUPPKEYANDS.NATIONKEY=N.NATIONKEYANDN.REGIONKEY=R.REGIONKEYANDR.NAME='YAZHOU'5总结与体会5.1实验中出现的问题及其解决方案实验中出现很多问题(1)建表过程中附的代码有问题,运行会报错。但是因为问题较小,经过简单的修改成功建表。(2)表与表之间关系复杂,主码外码设定困难。从最基本的表开始,逐渐往上建表,直至所有表建好。(3)编写代码出现了很大的困难,很多代码运行不通。最后问了很多同学尝试了很多次,代码终于运行正常了。5.2总结这次的实验主要是连接查询。在SQL里连接出现有四种(自然连接,普通连接,外连接,自身连接)我们平常用的比较多的是等值连接。等值连接顾名思义,就是两个值相等时进行连接,最后的多表连接就是的发挥作用。实验本身比较简单,多试几次就好了。5.3体会这次的实验不难,主要是基础的东西,只要把一些简单的东西做好就可以了,关键是有耐心。不论我们学习多次时间,我们所得的知识终有限,我们必须不断学习才能跟上发展的浪潮。
本文标题:数据库基本查询
链接地址:https://www.777doc.com/doc-4899456 .html