Oracle 临时集合

来源:互联网 发布:知乎怎么匿名回复 编辑:程序博客网 时间:2024/06/03 12:51

-- Start

SELECT * FROM <TABLE-NAME>;

看到上面的语句了吗?这是我们在熟悉不过的一条语句,我们中的大多人学习SQL 正是从这条语句开始的。所以大多数人认为FROM 语句后只能接一个表或视图(或者压根就没多想),有这种想法的人我非常能理解,因为我曾经也是这其中的一员。其实FROM 后面可以接任何集合(表)。说到这,关于集合和表,我特别想多少几句。SQL 的理论基础是数学中的集合理论,所以SQL 关注的就是如何对集合进行操作,基于以上原因,我特别喜欢名词集合,而不喜欢说表。不过,大家如果不习惯,也可以把集合和表当一个意思来理解,因为我们不是搞理论研究工作的,没必要深究他们之间的细微差别。说了这么多,我们还是赶快来看个例子吧。

---建表CREATE TABLE EMPLOYEE(NAME VARCHAR(20) NOT NULL,---姓名BIRTHDAY DATE---生日);---例子1SELECT * FROM(SELECT * FROM EMPLOYEE) TEMP1;---例子2SELECT NAME,BIRTHDAY FROM(SELECT NAME,BIRTHDAY FROM EMPLOYEE) TEMP1;---例子3SELECT TEMP1.NAME,TEMP1.BIRTHDAY FROM(SELECT NAME,BIRTHDAY FROM EMPLOYEE) TEMP1;---例子4SELECT AAA.A,AAA.B,XXX.X,XXX.Y FROM(SELECT NAME A,BIRTHDAY B FROM EMPLOYEE) AAA,--集合1(SELECT NAME X,BIRTHDAY Y FROM EMPLOYEE) XXX--集合2WHERE AAA.A=XXX.X AND AAA.B=XXX.Y--关联两个集合

看到上面的例子4了吗?我们可以给临时集合命名,还可以关联两个临时集合,总之,操作临时集合和操作表没有区别。

-- 更多参见:Oracle SQL 精萃

-- 声明:转载请注明出处

-- Last edited on 2015-06-19

-- Created by ShangBo on 2015-06-19

-- End

0 0