MySQL的三种子查询

今天学习 MySQL 子查询,先来干货再看看实际中如何运用。

 

一、何为子查询?

一条 select 查询语句的结果, 作为另一条 select 语句的一部分。

 

二、子查询特点?

1、子查询要放在小括号里

2、子查询作为父查询的查询条件使用。

 

三、子查询分类?

1、where 型语法:

  •  
SELECT 查询字段 FROM 表 WHERE 字段=(子查询);

2、from 型语法:

  •  
SELECT 查询字段 FROM (子查询)表别名 WHERE 条件;

3、exists 型( in 函数)语法:

  •  
SELECT 查询字段 FROM 表 WHERE 字段 IN (子查询);

 

四、举例子说明实际中如何使用

有 products 商品表

640?wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1

有 category 类目表:

640?wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1

 

1、where 型例子:

通过子查询的方式, 查询价格最高的商品信息

  •  
  •  
  •  
  •  
  •  
  •  
# 通过子查询的方式, 查询价格最高的商品信息 # 1.首先查询出最高价格 SELECT MAX(price) FROM products; # 2.将最高价格作为条件,获取商品信息 SELECT * FROM products WHERE price = (SELECT MAX(price) FROM products);

640?wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1

 

2、from 型例子:

查询商品中,价格大于500的商品信息,包括 商品名称 商品价格 商品所属分类名称

  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
select  p.`pname`,  p.`price`,  c.cnamefrom  products pinner join (  select    *  from    category) c on # 此处c:子查询作为一张表使用时,要起别名,才能访问表中字段   p.`category_id` = c.cidwhere  p.`price` > 500;

640?wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1

 

3、exists 型例子:

查询家电类与鞋服类下面的全部商品信息

  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
select  *from  productswhere  category_id in (  select    cid  from    category  where    cname in ('家电', '鞋服'));

640?wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1

 

今天先学一点点,明天见

 

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

软件测试大田

你的赞赏是大田更新的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值