易截截图软件、单文件、免安装、纯绿色、仅160KB

oracle经验之ANY,SOME,ALL区别


因为很少用到, 所以几乎忘记了这几个函数, 不过它们还是很有用的使用它们可以大大简化一些SQL文的语法, 至于效率问题, 如CCW所说它们和EXISTS, IN 之类没有什么差别, 而且要具体问题具体分析
其中ANY和SOME在意思上是相同的, 可以相互替代.
举几个例子来说明ALL和ANY的用法
1. SELECT * from TABLEA WHERE FLD > ALL(SELECT FLD from TABLEA)
这相当于
SELECT * from TABLEA WHERE FLD > (SELECT MAX(FLD) from TABLEA)
2. SELECT * from TABLEA WHERE FLD > ANY(SELECT FLD from TABLEA)
这相当于
SELECT * from TABLEA WHERE FLD > (SELECT MIN(FLD) from TABLEA)
3. SELECT * from TABLEA WHERE FLD = ANY(SELECT FLD from TABLEA)
这相当于
SELECT * from TABLEA WHERE FLD IN (SELECT FLD from TABLEA)
最后, 关于HAVING它是用于合计计算的运算符, 它和WHERE有着不同的含义
当使用GROUP时HAVING是对各组中的记录进行比较的意思, 换句话说它是选择一组数据的条件
而WHERE则和分组无关, 它是选择一行数据的条件
比如,
SELECT NAME, AVG(PRICE) from STORE
GROUP BY NAME
HAVING AVG(PRICE) > 10
这里的HAVING是WHERE无法替代的
至于效率, WHERE是在生成结果集之前就完成的处理, 而HAVING则要等到结果集做成后在循环执行的处理, 自然效率要低一些, 因此在只需要对行进行操作的时候, 不要使用HAVING


相关文档:

SQL SERVER数据库快速转ORACLE实战

操作步骤如下,供参考。
 数据库转型工作涉及的工作事项分析:表,表数据,索引,外键约束,字段默认值。
存储过程、函数、触发器、视图等由于语法存在差异,只能自行改写处理。
 
(一)在MS SQL SERVER服务器端的准备工作。
1).创建关于表、视图、主键、索引、字段字典、默认值约束的对象视图。以方便下一步 ......

MsSQL,MySQL,Oracle,数据库连接字段

Ms sql 2000
drivername=com.microsoft.jdbc.sqlserver.SQLServerDriver
url=jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=books
username=sa
password=sa
MySQL
drivername=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost/books
username=root
password=root
Oracle
drivername=orac ......

.net调用oracle出现无法加载oramts.dll

.net调用oracle出现无法加载oramts.dll
     在调用oracle时出现无法加载oramts.dll 这时可以尝试以下方法:
先要看在连接字符串中.是否添加了enlist=false;通常不添加这个属性..系统将不会去自动调用oramts.dll
详情请看
   将msvcrtd.dll拷到 C:windows\system32\
......

Oracle的优化器有两种优化方式(二)

15. /*+USE_CONCAT*/
对查询中的WHERE后面的OR条件进行转换为UNION  ALL的组合查询. (懵懂啊,先存着)
例如:
select /*+use_concat */ * from emp where deptno=10 OR empno=7788;
Execution Plan
----------------------------------------------------------
   0      S ......

Oracle复杂查询

1、查询两个日期之间的数据。
假设有表Table1,其创建表的sql语句为:
create table Table1(
StationID    NUMBER(10) Primary key,
Year           NUMBER(4)  not null,
Month        NUMBER(2)  n ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号