#查询所有商品 和 商品的对应分类信息SELECT*FROM products p LEFTJOIN category c ON p.`category_id`= c.`cid`;#2.基于上面的查询语句,创建一张视图CREATEVIEW products_category_view
ASSELECT*FROM products p LEFTJOIN category c ON p.`category_id`= c.`cid`;
查询视图 ,当做一张只读的表操作就可以
SELECT*FROM products_category_view;
3.2 通过视图进行查询
需求: 查询各个分类下的商品平均价格
#通过 多表查询SELECT
cname AS'分类名称',AVG(p.`price`)AS'平均价格'FROM products p LEFTJOIN category c ON p.`category_id`= c.`cid`GROUPBY c.`cname`;# 通过视图查询 可以省略连表的操作SELECT
cname AS'分类名称',AVG(price)AS'平均价格'FROM products_category_view GROUPBY cname;
需求: 查询鞋服分类下最贵的商品的全部信息
#通过连表查询#1.先求出鞋服分类下的最高商品价格SELECTMAX(price)AS maxPrice
FROM
products p LEFTJOIN category c ON p.`category_id`= c.`cid`WHERE c.`cname`='鞋服'#2.将上面的查询 作为条件使用SELECT*FROM products p LEFTJOIN category c ON p.`category_id`= c.`cid`WHERE c.`cname`='鞋服'AND p.`price`=(SELECTMAX(price)AS maxPrice
FROM
products p LEFTJOIN category c ON p.`category_id`= c.`cid`WHERE c.`cname`='鞋服');
#通过视图查询SELECT*FROM products_category_view pcv
WHERE pcv.`cname`='鞋服'AND pcv.`price`=(SELECTMAX(price)FROM products_category_view WHERE cname ='鞋服')