之前看到一张介绍SQL语句执行顺序的图:

(此图来自文章 SQL语句执行顺序图文介绍)<??http://www.2cto.com/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHA+1eLNvLuttcO3x7OjusOjrMflzvq12NW5z9bBy1NRTNPvvuS1xNa00NDLs9Dyo7u98czs1/bBy9K7tcDM4qOs09a808nuwcu21FNRTNPvvuTWtNDQy7PQ8rXEwO294qGjPC9wPgo8cD7T0NXi0fnSu9XFse2jujwvcD4KPHA+PGltZyBzcmM9"https://www.cppentry.com/upload_files/article/57/1_nepo8__.png" alt="\">
题目是:
列出包含在超过一个订单(订单号:XORDER$id)中的所有商品的商品id(商品id:PRODUCT$id)、订购数量,以商品id的降序为序。
SQL语句如下:
select PRODUCT$ID,sum(quantity) from LINEITEM group by PRODUCT$ID having count(PRODUCT$ID) > 1 order by PRODUCT$ID desc;
结果如下:

虽然这个例子少了where子句,但丝毫不会影响它帮助我们理解SQL语句的执行流程,因为where子句如此常用,早就被我们理解啦。