mysql 子查询(七)之子查询排序

大多数子查询不需要排序,没有意义。因为子查询大多数是作为一个结果或参数给主查询使用。但top-n问题除外。

举个例子,查询员工表中“行政部”的员工。

select *
from emp
where empdetno = (select empdetno
                  from bmb
                  where bmname = '行政部')

子查询的结果给主查询作为一个参数,是否排序,对主查询的结果不会产生任何影响。

top-n问题,指的是什么呢?

在一个集合中,查询前n位。我们必须使用排序。

举个例子,查询会员表中余额前3位的会员。会员信息在会员表,余额在另一张表。

注意,余额前3位,所以,我们必须要对余额进行降序排列。如果不对余额进行排列,那么我们查出的结果一定是错误的。

    原文作者:yx1166
    原文地址: https://blog.csdn.net/yx1166/article/details/79419698
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞