带答案--实验:SQL高级查询.docVIP

  • 18
  • 0
  • 约6.67千字
  • 约 6页
  • 2016-10-17 发布于贵州
  • 举报
带答案--实验:SQL高级查询

实验六 高级查询 【实验目的与要求】 熟练掌握IN子查询 熟练掌握比较子查询(尤其要注意ANY、ALL谓词如何用集函数代替) 熟练掌握EXISTS子查询(尤其是如何将全称量词和逻辑蕴含用EXISTS谓词代替) 熟练掌握复杂查询的select语句 【实验准备】 准备好测试数据 熟悉多表查询与嵌套查询的用法。 【实验内容】 嵌套子查询 以下实验在前面实验中创建的CPXS数据库中完成,请根据前面实验创建的表结构和数据,完成如下嵌套查询:(也可以不按指导书给出的思路写查询语句,只要是正确的即可,有疑问时可以和同学及老师商量你的查询语句是否正确) 查询在2004年3月18日没有销售的产品名称(不允许重复)。 用IN子查询: 写出对应SQL语句并给出查询结果: USE CPXS SELECT 产品名称 FROM CP WHERE 产品编号not IN (SELECT 产品编号FROM CPXSB WHERE 销售日期=2004-3-12)from CP where 产品编号 not in ( select 产品编号 from CPXSB where 销售日期=2004-3-18 ); 用EXISTS子查询: 写出对应SQL语句并给出查询结果: select distinct 产品名称 from CP where 产品名称!=all ( select 产品名称 from CP where exists ( select 产品编号 from CPXSB where 销售日期!=2004-03-18 and CP.产品编号=CPXSB.产品编号 ) ) 查询名称为“家电市场”的客户在2004年3月18日购买的产品名称和数量。 用IN子查询: 写出对应SQL语句并给出查询结果: select 产品名称,数量 from CPXSB left join CP on(CPXSB.产品编号=CP.产品编号) where 客户编号 in ( select 客户编号 from XSS where 客户名称=家电市场 ) and 销售日期=2004-03-18 用EXISTS子查询: 写出对应SQL语句并给出查询结果: select 产品名称,数量 from CPXSB left join CP on(CPXSB.产品编号=CP.产品编号) where CPXSB.客户编号 = ( select 客户编号 from XSS where 客户名称=家电市场 ) and exists ( select distinct 产品名称 from CP where 销售日期=2004-03-18 and CP.产品编号=CPXSB.产品编号 ) 查询销售量大于所有2004年3月18日销售的各产品销售数量的产品编号。 用ALL谓词: 写出对应SQL语句并给出查询结果: select 产品编号 from CPXSB where 数量all(select 数量 from CPXSB where 销售日期=2004-03-18 ) 用集函数: 写出对应SQL语句并给出查询结果: select 产品编号 fro

文档评论(0)

1亿VIP精品文档

相关文档