实验6 高级查询

实验6 高级查询

ID:40828919

大小:532.50 KB

页数:16页

时间:2019-08-08

实验6 高级查询_第1页
实验6 高级查询_第2页
实验6 高级查询_第3页
实验6 高级查询_第4页
实验6 高级查询_第5页
资源描述:

《实验6 高级查询》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实验6 高级查询姓名:学号:专业:班级:同组人:无实验日期:【实验目的与要求】n掌握基本的连接查询操作l等值连接l非等值连接l自身连接l外连接n掌握嵌套查询操作【实验内容与步骤】思考问题:如何使用SQL来创建数据库表?准备工作:若上个实验的数据库表还没有创建,请先创建之,并按照实验要求输入测试数据。6.1连接连接查询主要包括:n等值连接n非等值连接n自身连接n外连接1.等值连接以等于运算符(=)为基础的连接称为等值连接。通常情况下,所有连接都是等值连接。等值连接的语法如下:SELECTFROMWHEREtable1

2、.common_column=table2.common_columnANDtable3.common_column=tablen.common_column;实验6-1查询所有产品的名称、类别名称和库存量等数据。请给出结果截图:第16页共16页实验6-2查询所有订单的订单代号、客户公司名称和运货费,查询结果按订单代号的升序排列。请给出结果截图:实验6-3查询由北京客户订购的运货费等于于8元的订单的订单代号、客户公司名称和运货费。请给出结果截图:第16页共16页等值连接可在两个表上执行,也可在多个表上执行。在一个连接中使用四个表:实验6-4查询每一客户的客户代号、公司名

3、称及其订单的订单代号、订购日期、产品名称和数量等数据。请写出查询结果:练习6-1修改实验6-4中给出的语句并以如下方式给出,然后观察发生什么情况。SELECTCno,Company,Ono,Order_date,Pname,QtyFROMCustomer,Orders,Order_items,ProductWHERECustomer.Cno=Orders.CnoANDOrders.Ono=Order_items.OnoANDOrder_items.Pno=Product.Pno;第16页共16页给出上面的选择语句后,会出现“Columnambiguouslydefine

4、d”(列定义模糊不清)的出错信息。这是因为“Ono”存在于两个表(即Orders表和Order_items表)之中。我们需要明确指定要从哪个表选择Ono,在这种情况下,可以从任何一个表中选择Ono。2.非等值连接实验6-5查询所有单价介于20和35元之间的产品的名称、类别名称、单价和库存量等数据。请给出结果截图:3.自身连接自身连接是连接的另一种形式。在这种情况下,连接是在单个表上进行的,就像它是两个独立的表。表的每个行都与其本身组合,并与表的所有行组合。实验6-6查询单价正好相差0.5倍的每一对产品的名称及其单价。第16页共16页请给出结果截图:注意:在进行表的自身连

5、接时,须在FROM子句中给同一个表取不同的别名,并在书写SELECT语句的其它子句时把这些代表同一表的不同别名看成是具有相同数据的“不同表”(读者在理解自身连接查询时,可以将它们看成不同的表,但实际上只有一个表)。练习6-2查询与“DuWei”客户在同一城市的其他客户的姓名及其电话。写出相应的SQL语句,并给出查询的结果:4.外连接前面介绍的查询都是内连接。内连接不选择表中不符合查询条件的记录。这些值可通过外连接获得,外连接利用运算符加号(+)。语法如下:SELECT(column_names)FROM(tablenames)WHERE(table1.column1=t

6、able2.column2)(+);实验6-7查询所有客户的代号、姓名以及其订单的代号和订购日期与订单状态,查询结果按客户代号的升序排列。先请看下面的SQL语句及其查询结果:第16页共16页请给出结果截图:上面的查询是一个内连接,由于客户“C0003”和“C0004”没有订单,他们都不满足查询条件,因此他们的信息没有出现在查询结果中;如果我们想让这两个客户的信息也出现在查询结果中就需要使用下面的外连接语句:请给出结果截图:试比较上面的两个查询语句中查询结果有何区别?6.2嵌套查询嵌套查询是指将一个SELECT-FROM-WHERE查询块嵌套在另一个查询块的WHERE或H

7、AVING短语的条件中的查询。第16页共16页1.带有比较运算符的子查询实验6-8 查询与“DuWei”客户在同一城市的其他客户的姓名及其电话。请给出结果截图:本查询包括了两个SELECT-FROM-WHERE查询块,其中下层的查询块嵌套在上层的查询块中。我们将上层的查询块称为父查询,而把下层的查询块称为子查询。子查询的处理先于父查询。本嵌套查询的过程如下:⑴先通过子查询,在Customer表中找到“DuWei”客户所在的城市,结果为“Shanghai”;⑵利用子查询得到的City值“Shanghai”,求出父查询中位于“Shanghai

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。