先找到goods表
查询goods_id最大的商品
where型的子查询
查询goods_id最大的商品(不能用排序)
把两步写成一步,就是子查询
from型子查询
查找出每种cat_id下goods_id最大的商品
思路:1. 先用cat_id进行排序,再用goods_id进行降序排列
2. 再用Mysql中特有的group by 语句(只有在MySQL中group by 才能查询goods_name
并且group by查到的goods_name只能显示第一个查到的内容)
exists 型子查询
要求先建一个category表
mysql> create table category( -> cat_id int auto_increment primary key, -> cat_name varchar(20) not null default '' -> )engine myisam charset utf8; Query OK, 0 rows affected (0.07 sec)
mysql> insert into category
-> values
-> (1, '手机类型'),
-> (2, 'CDMA手机'),
-> (3, '智能手机'),
-> (4, '4G手机'),
-> (5, '**手机'),
-> (6, '手机配件'),
-> (7, '充电器'),
-> (8, '耳机'),
-> (9, '电池'),
-> (11, '内存卡和读卡器'),
-> (12, '充值卡');
可以看出有些cat_id下是没有产品的
只把有商品的cat_id取出来