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

时间:2022-12-20 10:20:47

先找到goods表

查询goods_id最大的商品

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

where型的子查询

查询goods_id最大的商品(不能用排序)

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

把两步写成一步,就是子查询

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

from型子查询

查找出每种cat_id下goods_id最大的商品

思路:1. 先用cat_id进行排序,再用goods_id进行降序排列

    2. 再用Mysql中特有的group by 语句(只有在MySQL中group by 才能查询goods_name

      并且group by查到的goods_name只能显示第一个查到的内容)

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

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

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, '充值卡');

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

可以看出有些cat_id下是没有产品的

只把有商品的cat_id取出来

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