junctioner

加强对(Oracle)SQL语句的学习(0)

--沉浸在技术之中,如同喝高度白酒,比较麻醉人。

工作中,遇到比较复杂的SQL语句,也挺费时间的。今天有时间就研究一下,找到如下几个资源链(比较懒,也懒得COPY,避嫌抄袭)

http://www.51one.net/study/Oracle/list1.htm

学习两个关键字的用法,intersect(取交集),minus(取差集)

(select a.name from a) intersect (select b.name from b)

(select a.name from a) minus (select b.name from b)

{重学高等数学,全还给老师了,现在自己去要回来,上Google:)

并集:A和B相加的全部;交集:A和B相交叠的部分;差集:并集-交集;补集:如果集合B是集合I的子集,我们把I看作全集,那么I与B的差集I-B,叫做B在I中的补集}

SQL语句优化技术分析

http://www.pconline.com.cn/pcjob/other/data/oracle/0501/536463.html

避免用

 避免使用  替代方法
field in(a,b,c)  field=a or field = b or field=c
field is null /is not null  field > ' ' 、field > 0

 select * from a   

 union

 select * from b

先取两表,再合并

 select * from a

 union all

 select * from b

简单的将两个结果合并后就返回

   


posted on 2006-03-16 13:51 junctioner 阅读(1948) 评论(2)  编辑  收藏 所属分类: 技术之路

评论

# re: 加强对(Oracle)SQL语句的学习(0) 2008-01-08 09:47 flgang@hotmail.com

原文中提及:"minus(取差集);差集:并集-交集;" 在oracle中
集合A minus 集合B 的数学解释如下:集合A-(集合A与集合B的交集)
  回复  更多评论   

# re: 加强对(Oracle)SQL语句的学习(0) 2009-02-01 16:34 b

差集:并集-交集 这个错了

一般地,设A,B是两个集合,由所有属于A且不属于B的元素组成的集合,叫做集合A减集合B(或集合A与集合B之差 )
  回复  更多评论   


只有注册用户登录后才能发表评论。


网站导航:
 
<2009年2月>
25262728293031
1234567
891011121314
15161718192021
22232425262728
1234567

导航

统计

常用链接

留言簿(8)

随笔分类

随笔档案

文章档案

搜索

最新评论

阅读排行榜

评论排行榜