1.未找到要求的 FROM 关键字
我的SQL语句:
SELECT *,ROWNUM RN FROM XT_RZ WHERE RN>0 AND RN<=3
会报错,错误信息:
原因:表中没有ROWNUM字段,修改后:
2.“RN”:标识符无效
SELECT A.*,ROWNUM RN FROM XT_RZ A WHERE RN>0 AND RN<=3
会出现第二个错误:
SQL Select语句完整的执行顺序:
1、from子句组装来自不同数据源的数据;
2、where子句基于指定的条件对记录行进行筛选;
3、group by子句将数据划分为多个分组;
4、使用聚集函数进行计算;
5、使用having子句筛选分组;
6、计算所有的表达式;
7、使用order by对结果集进行排序。
SQL语句执行顺序:FROM、ON 、JOIN、WHERE、GROUP BY、AGG_FUNC、WITH、HAVING、SELECT、UNION、DISTINCT 、ORDER BY、LIMIT。
可以看出where在select之前执行这时表中还没有ROWNUM字段。
可以这样修改:
SELECT * FROM (SELECT A.*,ROWNUM RN FROM XT_RZ A) WHERE RN>3 AND RN<=6
这样就可以查出数据了
注意:
多条件分页查询时,要将条件先查,在进行分页(分页最后进行)。