Oracle中的where部分的各个条件的执行顺序右->左

原网址:http://blog.sina.com.cn/s/blog_7e4ac8b50100vcwv.html

sql 条件字段(Where 部分)的分析和执行顺序[ 右——>左 ]
实验一:证明了sql的语法分析是从右到左的
下面的试验在9i和10G都可以得到相同的结果: 第1条语句执行不会出错,第2条语句会提示除数不能为零。
1.Select 'ok' From Dual Where 1 / 0 = 1 And 1 = 2;
2.Select 'ok' From Dual Where 1 = 2 And 1 / 0 = 1;
证明了sql的语法分析是从右到左的。


实验二:证明了sql条件的执行是从右到左的
drop table temp;
create table temp( t1 varchar2(10),t2 varchar2(10));
insert into temp values('zm','abcde');
insert into temp values('sz','1');
insert into temp values('sz','2');
commit;
1. select * from temp where to_number(t2)>1 and t1='sz';
2. select * from temp where t1='sz' and to_number(t2)>1;
在9i上执行,第1条语句执行不会出错,第2条语句会提示“无效的数字”
在10G上执行,两条语句都不会出错。
说明:9i上,sql条件的执行确实是从右到左的,但是10G做了什么调整呢?


还有几个网址:

http://www.jb51.cc/article/p-pfeqmotn-bdk.html

要提高SQL查询效率where语句条件的先后次序应如何写

sql中的where的条件的执行顺序
http://bbs.csdn.net/topics/350234598
Oracle 执行计划(Explain Plan) 说明
http://blog.chinaunix.net/uid-21187846-id-3022916.html

未完待续。

相关文章

Java Oracle 结果集是Java语言中处理数据库查询结果的一种方...
Java AES和Oracle AES是现代加密技术中最常使用的两种AES加密...
Java是一种广泛应用的编程语言,具备可靠性、安全性、跨平台...
随着移动互联网的发展,抽奖活动成为了营销活动中不可或缺的...
Java和Oracle都是在计算机领域应用非常广泛的技术,他们经常...
Java 是一门非常流行的编程语言,它可以运行于各种操作系统上...