task03-复杂一点的查询-学习和练习

1学习

1.1 视图

创建视图:

CREATE VIEW productsum (product_type, cnt_product)
AS
SELECT product_type, COUNT(*)
  FROM product
 GROUP BY product_type ;

得到:
在这里插入图片描述
修改视图代码

ALTER VIEW productSum
    AS
        SELECT product_type, sale_price
          FROM Product
         WHERE regist_date > '2009-09-11';

更新视图代码:

UPDATE productsum
   SET sale_price = '5000'
 WHERE product_type = '办公用品';

删除视图代码

DROP VIEW productSum;

1.2 子查询

标量子查询:返回表中具体的某一行的某一列。
目的:①查询出销售单价高于平均销售单价的商品
②查询出注册日期最晚的那个商品
查询价格大于平均值的商品代码如下:

SELECT product_id, product_name, sale_price
  FROM product
 WHERE sale_price > (SELECT AVG(sale_price) FROM product);

结果如图:
在这里插入图片描述
关联子查询:通过一些标志将内外两层的查询连接起来起到过滤数据的作用。
例子:选取出各商品种类中高于该商品种类的平均销售单价的商品
代码如下:

SELECT product_type, product_name, sale_price
  FROM product AS p1
 WHERE sale_price > (SELECT AVG(sale_price)
   FROM product AS p2
                      WHERE p1.product_type =p2.product_type
   GROU
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值