select sql 语句执行过程 顺序
(
8)
SELECT
(
9)
DISTINCT
(
11)
<
TOP_specification>
<
select_list>
(
1)
from
<
left_table>
(
3)
<
join_type>
JOIN
<
right_table>
(
2)
ON
<
join_codition>
(
4)
WHERE
<
where_condition>
(
5)
GROUP
BY
<
group_by_list>
(
6)
WITH
{
CUBE
|
ROLLUP}
(
7)
HAVING
<
having_condition>
(
10) ORDER
BY
<
order_by_list>
熟悉
SQL
的人应该一眼就能看出来上面语句的作用,基本包括了我们一般查询表的写法,
SQL
不同于其他编程语言最明显的特征就是他的代码顺训。在大多数语言中,代码按编码的顺序被处理,但在
SQL
语言中,第一个被处理的子句是
from
子句,尽管
SELECT
语句第一个出现,但几乎总是最后处理。
其实从逻辑上来说,每个步骤都会产生一个虚拟表,该虚拟表用作下一个步骤的输入(上面的标记代表执行步骤
的顺序)。
相关文档:
最简单的SQL Server数据库存储过程分页
发布时间:2008.07.02 05:11 来源:赛迪网 作者:Alizze
【赛迪网-IT技术报道】最简单的SQL Server数据库存储过程分页:
1.只需要提供Sql语句和每页的记录数,页数就可以了
2,速度超快哟,100W记录1~3秒就分出来了
......
我们在工作中希望能看见自己运行的DML语句的运行报告,例如select,delete,update,megre和insert语句运行后的情况,以用来监视和调优语句。我们通常在sql*plus中使用set autotrace on开启。
那autotrace是如何安装的呢?thomas kyte的大作中给出了详细的方法和解释:
& ......
用EXPLAIN PLAN 分析SQL语句
http://blog.csdn.net/kj021320/archive/2006/08/19/1096021.aspx
如何生成explain plan?
解答:运行utlxplan.sql. 建立plan 表
针对特定SQL语句,使用 explain plan set statement_id = 'tst1' into plan_table
运行utlxplp.sql 或 utlxpls.sql察看explain plan
EXPLAIN PLA ......
RANK ( ) OVER ( [query_partition_clause] order_by_clause )
DENSE_RANK ( ) OVER ( [query_partition_clause] order_by_clause )
可实现按指定的字段分组排序,对于相同分组字段的结果集进行排序,
其中PARTITION BY 为分组字段,ORDER BY 指定排序字段
over不能单独使用,要和分析函数:rank(),dense_rank(),row_n ......