-- create table goods(
-- id int unsigned primary key auto_increment,
-- name varchar(150),
-- cate varchar(40),
-- brand_name varchar(40),
-- price decimal(10,3) default 0,
-- is_show bit default 1,
-- is_saleoff bit default 0
-- );
-- insert into goods values(0,'r510vc 15.6英寸笔记本','笔记本','华硕','3399',default,default);
-- insert into goods values(0,'y400n 14.0英寸笔记本电脑','笔记本','联想','4999',default,default);
-- insert into goods values(0,'g150th 15.6英寸游戏本','游戏本','雷神','8499',default,default);
-- insert into goods values(0,'x550cc 15.6英寸笔记本','笔记本','华硕','2799',default,default);
-- insert into goods values(0,'x240 超极本','超级本','联想','4999',default,default);
-- insert into goods values(0,'u330p 13.3英寸超极本','超级本','联想','4299',default,default);
-- insert into goods values(0,'svp13226scb 触控超极本','超级本','索尼','7999',default,default);
-- insert into goods values(0,'ipad mini 7.9英寸平板电脑','平板电脑','苹果','1998',default,default);
-- insert into goods values(0,'ipad air 9.7英寸平板电脑','平板电脑','苹果','3388',default,default);
-- insert into goods values(0,'ipad mini 配备 retina 显示屏','平板电脑','苹果','2788',default,default);
-- insert into goods values(0,'ideacentre c340 20英寸一体电脑 ','台式机','联想','3499',default,default);
-- insert into goods values(0,'vostro 3800-r1206 台式电脑','台式机','戴尔','2899',default,default);
-- insert into goods values(0,'imac me086ch/a 21.5英寸一体电脑','台式机','苹果','9188',default,default);
-- insert into goods values(0,'at7-7414lp 台式电脑 linux )','台式机','宏碁','3699',default,default);
-- insert into goods values(0,'z220sff f4f06pa工作站','服务器/工作站','惠普','4288',default,default);
-- insert into goods values(0,'poweredge ii服务器','服务器/工作站','戴尔','5388',default,default);
-- insert into goods values(0,'mac pro专业级台式电脑','服务器/工作站','苹果','28888',default,default);
-- insert into goods values(0,'hmz-t3w 头戴显示设备','笔记本配件','索尼','6999',default,default);
-- insert into goods values(0,'商务双肩背包','笔记本配件','索尼','99',default,default);
-- insert into goods values(0,'x3250 m4机架式服务器','服务器/工作站','ibm','6888',default,default);
-- insert into goods values(0,'hmz-t3w 头戴显示设备','笔记本配件','索尼','6999',default,default);
-- insert into goods values(0,'商务双肩背包','笔记本配件','索尼','99',default,default);
-- 求所有电脑产品的平均价格,并且保留两位小数
-- select avg(price) from goods
-- select round(avg(price),2) as avg_price from goods;
-- 查询所有价格大于平均价格的商品,并且按价格降序排序
-- select * from goods where (select avg(price) from goods ) order by price desc
-- 查询类型为'超极本'的商品价格
-- select price from goods where cate_id='超极本'(以前字段是文字,后来修改成int,所以不显示)
-- 查询价格大于或等于"超级本"价格的商品,并且按价格降序排列
-- select * from goods where price = any (select price from goods where cate_id='超级本') order by price desc (以前字段是文字,后来修改成int,所以不显示 用in也可以)
-- ...............................................................................................................
-- 数据类型分表
-- create table if not exists goods_cates(
-- cate_id int unsigned primary key auto_increment,
-- cate_name varchar(40)
-- );
-- insert into goods_cates(cate_name)select distinct cate from goods {添加数据}
-- 新建一个品牌表
-- create table goods_brands (
-- brand_id int unsigned primary key auto_increment,
-- brand_name varchar(10)
-- )select distinct brand_name from goods {添加数据}
-- insert into goods_cates (cate_name) values ('路由器'),('交换机'),('网卡');
-- insert into goods_brands (brand_name)values ('海尔'),('清华同方'),('神舟');
-- insert into goods (name,cate,brand_name,price)
-- values('LaserJet Pro P1606dn 黑白激光打印机','12','4','1849');
-- (当两个表字段一样 起别名 查询字段需要加表名.字段)
-- goods表 cate 字段修改为类型表数字 用一个表去操作另一个表
-- 1.首先建立关联,用内连接
-- select * from goods g inner join goods_cates gc on g.cate_id=gc.cate_id
-- 2.修改表 将上面关联mysql语句中 select *from 替换update set cate=cate_id
-- update goods g inner join goods_cates gc on g.cate_id=gc.cate_id set g.cate_id=gc.cate_id
-- 3.goods表 brand_name 字段要修改为品牌表数字 用一个表去操作另一个表
-- update goods g inner join goods_brands gb on g.brand_id=gb.brand_id set g.brand_id=gb.brand_id
-- 4.三表连接查看产品 品牌 类型 用内连接
-- select g.name, gc.cate_name,gb.brand_name from goods g inner join goods_cates gc on g.cate_id=gc.cate_id
-- inner join goods_brands gb on g.brand_id=gb.brand_id
-- 5.查询所有的商品信息,三表左连接,商品表作为左表全部显示
-- select name,cate_name,brand_name,price,is_show,is_saleoff from goods g left join goods_cates gc on g.cate_id=gc.cate_id
-- left join goods_brands gb on g.brand_id=gb.brand_id
-- select name,cate_name,brand_name,price,is_show,is_saleoff from goods g left join goods_cates gc on g.cate_id=gc.cate_id
-- inner join goods_brands gb on g.brand_id=gb.brand_id
-- 显示没有商品的品牌(通过右链接+子查询来做) 右连接
-- 1)有商品的品牌 2)取反
-- 有商品的品牌的所有信息(右连接)
-- select * from goods g right join goods_brands gb on g.brand_id=gb.brand_id where g.brand_id in(select distinct brand_id from goods)
-- 显示有商品的品牌
-- select * from goods_brands gb where gb.brand_id in (select distinct brand_id from goods )
-- 显示没有商品的品牌
-- select * from goods_brands gb where not gb.brand_id in (select distinct brand_id from goods)
-- id int unsigned primary key auto_increment,
-- name varchar(150),
-- cate varchar(40),
-- brand_name varchar(40),
-- price decimal(10,3) default 0,
-- is_show bit default 1,
-- is_saleoff bit default 0
-- );
-- insert into goods values(0,'r510vc 15.6英寸笔记本','笔记本','华硕','3399',default,default);
-- insert into goods values(0,'y400n 14.0英寸笔记本电脑','笔记本','联想','4999',default,default);
-- insert into goods values(0,'g150th 15.6英寸游戏本','游戏本','雷神','8499',default,default);
-- insert into goods values(0,'x550cc 15.6英寸笔记本','笔记本','华硕','2799',default,default);
-- insert into goods values(0,'x240 超极本','超级本','联想','4999',default,default);
-- insert into goods values(0,'u330p 13.3英寸超极本','超级本','联想','4299',default,default);
-- insert into goods values(0,'svp13226scb 触控超极本','超级本','索尼','7999',default,default);
-- insert into goods values(0,'ipad mini 7.9英寸平板电脑','平板电脑','苹果','1998',default,default);
-- insert into goods values(0,'ipad air 9.7英寸平板电脑','平板电脑','苹果','3388',default,default);
-- insert into goods values(0,'ipad mini 配备 retina 显示屏','平板电脑','苹果','2788',default,default);
-- insert into goods values(0,'ideacentre c340 20英寸一体电脑 ','台式机','联想','3499',default,default);
-- insert into goods values(0,'vostro 3800-r1206 台式电脑','台式机','戴尔','2899',default,default);
-- insert into goods values(0,'imac me086ch/a 21.5英寸一体电脑','台式机','苹果','9188',default,default);
-- insert into goods values(0,'at7-7414lp 台式电脑 linux )','台式机','宏碁','3699',default,default);
-- insert into goods values(0,'z220sff f4f06pa工作站','服务器/工作站','惠普','4288',default,default);
-- insert into goods values(0,'poweredge ii服务器','服务器/工作站','戴尔','5388',default,default);
-- insert into goods values(0,'mac pro专业级台式电脑','服务器/工作站','苹果','28888',default,default);
-- insert into goods values(0,'hmz-t3w 头戴显示设备','笔记本配件','索尼','6999',default,default);
-- insert into goods values(0,'商务双肩背包','笔记本配件','索尼','99',default,default);
-- insert into goods values(0,'x3250 m4机架式服务器','服务器/工作站','ibm','6888',default,default);
-- insert into goods values(0,'hmz-t3w 头戴显示设备','笔记本配件','索尼','6999',default,default);
-- insert into goods values(0,'商务双肩背包','笔记本配件','索尼','99',default,default);
-- 求所有电脑产品的平均价格,并且保留两位小数
-- select avg(price) from goods
-- select round(avg(price),2) as avg_price from goods;
-- 查询所有价格大于平均价格的商品,并且按价格降序排序
-- select * from goods where (select avg(price) from goods ) order by price desc
-- 查询类型为'超极本'的商品价格
-- select price from goods where cate_id='超极本'(以前字段是文字,后来修改成int,所以不显示)
-- 查询价格大于或等于"超级本"价格的商品,并且按价格降序排列
-- select * from goods where price = any (select price from goods where cate_id='超级本') order by price desc (以前字段是文字,后来修改成int,所以不显示 用in也可以)
-- ...............................................................................................................
-- 数据类型分表
-- create table if not exists goods_cates(
-- cate_id int unsigned primary key auto_increment,
-- cate_name varchar(40)
-- );
-- insert into goods_cates(cate_name)select distinct cate from goods {添加数据}
-- 新建一个品牌表
-- create table goods_brands (
-- brand_id int unsigned primary key auto_increment,
-- brand_name varchar(10)
-- )select distinct brand_name from goods {添加数据}
-- insert into goods_cates (cate_name) values ('路由器'),('交换机'),('网卡');
-- insert into goods_brands (brand_name)values ('海尔'),('清华同方'),('神舟');
-- insert into goods (name,cate,brand_name,price)
-- values('LaserJet Pro P1606dn 黑白激光打印机','12','4','1849');
-- (当两个表字段一样 起别名 查询字段需要加表名.字段)
-- goods表 cate 字段修改为类型表数字 用一个表去操作另一个表
-- 1.首先建立关联,用内连接
-- select * from goods g inner join goods_cates gc on g.cate_id=gc.cate_id
-- 2.修改表 将上面关联mysql语句中 select *from 替换update set cate=cate_id
-- update goods g inner join goods_cates gc on g.cate_id=gc.cate_id set g.cate_id=gc.cate_id
-- 3.goods表 brand_name 字段要修改为品牌表数字 用一个表去操作另一个表
-- update goods g inner join goods_brands gb on g.brand_id=gb.brand_id set g.brand_id=gb.brand_id
-- 4.三表连接查看产品 品牌 类型 用内连接
-- select g.name, gc.cate_name,gb.brand_name from goods g inner join goods_cates gc on g.cate_id=gc.cate_id
-- inner join goods_brands gb on g.brand_id=gb.brand_id
-- 5.查询所有的商品信息,三表左连接,商品表作为左表全部显示
-- select name,cate_name,brand_name,price,is_show,is_saleoff from goods g left join goods_cates gc on g.cate_id=gc.cate_id
-- left join goods_brands gb on g.brand_id=gb.brand_id
-- select name,cate_name,brand_name,price,is_show,is_saleoff from goods g left join goods_cates gc on g.cate_id=gc.cate_id
-- inner join goods_brands gb on g.brand_id=gb.brand_id
-- 显示没有商品的品牌(通过右链接+子查询来做) 右连接
-- 1)有商品的品牌 2)取反
-- 有商品的品牌的所有信息(右连接)
-- select * from goods g right join goods_brands gb on g.brand_id=gb.brand_id where g.brand_id in(select distinct brand_id from goods)
-- 显示有商品的品牌
-- select * from goods_brands gb where gb.brand_id in (select distinct brand_id from goods )
-- 显示没有商品的品牌
-- select * from goods_brands gb where not gb.brand_id in (select distinct brand_id from goods)