MySql cmd下的学习笔记 —— 有关子查询的操作(where型,from型,exists型子查询)

先找到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取出来

 

原文地址:https://www.cnblogs.com/abc23/p/9408508.html