您的位置:首页 > 数据库 > MySQL

Mysql之子查询

2016-04-21 15:46 597 查看
子查询:

select shohin_bunrui,cnt_shohin from
(select shohin_bunrui,count(*) as cnt_shohin from shohin group by shohin_bunrui)
as shohinSum;
在where 子句中使用标量子查询

---错误的方式
Select shohin_id,shohinmei,hanbai_tanka from shohin where hanbai_tanka >avg(hanbai_tanka);

---选出销售单价高于全部商品的平均单价的商品
Select shohin_id,shohin_mei,hanbai_tanka from shohin where hanbai_tanka > (select avg(hanbai_tanka) from shohin);

标量子查询的书写位置

------在select子句中使用标量子查询

Select shohin_id,shohin_mei,hanbai_tanka (select avg(hanbai_tanka) from shohin) as avg_tanka

From shohin;

-------having子句中使用标量子查询

Select shohin_bunrui,avg(hanbai_tanka) from shohin

group by shohin_bunrui

Having avg(hanbai_tanka) > (select avg(hanbai_tanka) from shohin);

-------该子查询绝对不能反回多个结果

E.g select shohin_id,shohin_mei,hanbai_tanka(select avg(hanbai_tanka) from shohin group by shohin_bunrui) as avg_tanka from shohin;

关联子查询

普通的子查询和子查询的区别

Select avg(hanbai_tanka) from shohin group by shohin_bunrui;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: