MySQL的标量子查询_mysql -标量子查询-案例

30263f8a7a9ce5d6002c8414055ae3b5.png

1eaa60b75cc6d6c8f118f13ceb1ae7ac.png

标量子查询

把价格最高的商品取出来???

select * from goods order by goods_price desc limit 1;

336cfd3c0a63868b7605a68be8553a6a.png

可是价格最高的可能有很多条数据呢?

所以,换一种方式

1,查出最高的价格

select max(goods_price) from goods;

2,根据最高价查询

select * from goods where goods_price = (select max(goods_price) from goods);

1ce68cb362dd93dde10bfb97a8d68b67.png

列子查询

1,查询一列

select brand_id from brand;

2,select * from goods where brand_id in (select brand_id from brand);

8efd3c88cc346845bd956452bcac865c.png

行子查询

我要查出价格最高而且brand_id最大的商品

1,得到最高价,得到最大brand_id

select max(goods_price),max(brand_id) from goods;

6f0f16d2cbd46d9a7cd0f0639b33eeff.png

2,根据条件查询

select * from goods where (goods_price, brand_id)=(select max(goods_price),max(brand_id) from goods);

dc0c741b48ca6431f736e4620a34c59b.png

表子查询

查出每个品牌(brand_id)最低价的一个

1,可以使用统计函数

select goods_name,min(goods_price) from goods group by brand_id;

515d5ae6a742c425eeadf24c5f11f881.png

2,使用表子查询,,不使用任何统计函数

2.1,先查出每个品牌的最低价

select * from goods order by goods_price asc;

40db47582ac183986b9ad0f96d318687.png

2.2,跟聚这个表再分组

select * from (select * from goods order by goods_price asc) as g  group by  brand_id;

有点问题, 先略过这里---------------------------------------------------------------------------

91cb0c29227f4202ea75c641571c0993.png

3,使用自然内连接

1,查出每个品牌的最低价

select  brand_id,min(goods_price) as goods_price from goods group by brand_id;

281cdcba43f097fa957202e59cf34902.png

select * from goods natural join (select  brand_id,min(goods_price) as goods_price from goods group by brand_id)  as b;

833e44f98124ce9750c4ebf3202366be.png

原文:https://www.cnblogs.com/zhang19950924/p/13218264.html

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值