数据库中的SELECT语句逻辑执行顺序分析

2019-01-05 10:13:52于海丽

1.FROM STUDENT
2.GROUP BY ID
3.SELECT ID,COUNT(ID) AS TOTAL
4.ORDER BY COUNT(ID)

  没错,它是能够成功执行的,看SQL执行计划,它与上面ORDER BY TOTAL是一样的。ORDER BY 是在SELECT后执行,因此可以用别名TOTAL。

示例三


SELECT FIRSTNAME+' '+LASTNAME AS NAME, COUNT(*) AS COUNT
 
FROM STUDENT
 
GROUP BY NAME

 实际执行顺序:


FROM STUDENT
 
GROUP BY NAME
 
SELECT FIRSTNAME+' '+LASTNAME AS NAME,COUNT(*) AS COUNT

很明显,执行GROUP BY NAME时别名NAME还没有创建,因此它是不能执行成功的。

总结

  回忆起曾经随意问过一些人这个问题,不管谁说不知道时我们都会故意嘲笑一翻,当然此嘲笑非彼嘲笑。但事实证明还是有一些人不会注意到这个知识点,在此贴出来只是做为一个友好的提醒。

您可能感兴趣的文章:

SQL Select语句完整的执行顺序SQLServer中SELECT语句的执行顺序C#使用带like的sql语句时防sql注入的方法C#中while循环语句用法实例详解C#使用foreach语句遍历队列(Queue)的方法C#中foreach语句使用break暂停遍历的方法C#使用foreach语句简单遍历数组的方法C#语句先后顺序对程序的结果有影响吗