sql语句中各个部分函数执行的顺序
3 月,跳不动了?>>> 首先分析一下SQL: SELECT TOP 10 * FROM student WHERE age>'20'; 这条SQL语句是否可以有下面两种理解呢 (1)先从Student表中选出age>20的数据,然后从这些数据中选择前面的10条数据。 (2)先从Student表中选出前10条数据,然后从这些数据中选择age>20的数据。 哪个是正确的呢? 我们很容易能确定:(1)是正确的。对于这样的简单的语句,一眼就能看出来,可是对于稍微复杂一些的SQL语句或者更加复杂的SQL语句,有时我们一眼就看不出来了,为了能够正确分析SQL语句以及写出正确的SQL语句,有必要了解一下SQL语句各部分的执行顺序。 例如: select distinct top 1 Table1.id,COUNT(Table1.name) as nameCount from Table1 inner join Table2 on Table1.id=Table2.id where Table1.id<4 group by Table1.id having Table1.id<3 order by Table1.id desc 其中Table1和Table2就是我随便建立的两个非常简单的表,为了讲解方便,我也没有弄一些跟实际相结合的表,要不还要理解业务逻辑,干脆越简单越好