13.6.7 子查询作为结果字段
MySQL支持使用子查询的结果数据作为最终查询结果的某一列数据。
例如,查询t_goods_category数据表中的数据,并统计每个商品类别下的商品数量。
mysql> SELECT category.id, category.t_category,
-> (SELECT COUNT(*)
-> FROM t_goods goods
-> WHERE goods.t_category_id = category.id)
-> AS goods_count
-> FROM t_goods_category category;
+------+---------------------+-------------+
| id | t_category | goods_count |
+------+---------------------+-------------+
| 1 | 女装/女士精品 | 6 |
| 2 | 户外运动 | 6 |
| 3 | 男装 | 0 |
| 4 | 童装 | 0 |
+------+---------------------+-------------+
4 rows in set (0.00 sec)
可以看到,使用子查询统计t_goods_category数据表中每个商品类别下的商品数量,并作为最终结果的goods_count字段的数据进行输出。