之前看到一张介绍SQL语句执行顺序的图:
(此图来自文章 SQL语句执行顺序图文介绍)
这图画得非常好,清晰地展现了SQL语句的执行顺序;今天做了一道题,又加深了对SQL语句执行顺序的理解。
有这样一张表:
题目是:
列出包含在超过一个订单(订单号: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子句如此常用,早就被我们理解啦。