ORACLE外连接小结~
好几次想用到外连接的时候都忘了具体的用法是怎样的,比如说(+)该加在等号的哪一端,或者LFET OUTER JOIN该用在整条语句中的哪个部分。今天正好又碰到一个相关的问题,借此机会总结一下,以后也方便查询,不用每次都去百度了。
//table1和table2为两个测试表 随便插入几条数据
SQL> select * from table1;
ID NAME
---------- --------------------
1 wh
2 wp
3 wq
SQL> select * from table2;
ID NAME
---------- --------------------
4 wr
1 wh
//正常查询
SQL> select a.name,b.name
2 from table1 a,table2 b
3 where a.id=b.id;
NAME NAME
-------------------- --------------------
wh wh
//显示出table1中的所有记录 table2中无相应记录则置NULL
SQL> select a.name,b.name
2 from table1 a,table2 b
3 where a.id=b.id(+);
NAME NAME
-------------------- --------------------
wh wh
wq
wp
//显示出table2中的所有记录 table1中无相应记录则置NULL
SQL> select a.name,b.name
2 from table1 a,table2 b
3 where a.id(+)=b.id;
NAME NAME
-------------------- --------------------
wh wh
wr
//呵呵,这里本想尝试一下全外连接,不过使用(+)好像不行
SQL> select a.name,b.name
2 from table1 a,table2 b
3 where a.id(+)=b.id(+);
where a.id(+)=b.id(+)
*
ERROR at line 3:
ORA-01468: a predicate may reference only one outer-joined table
//左外连接
SQL> select a.name,b.name
2 from table1 a
3 left outer join table2 b
4 on a.id=b.id;
NAME NAME
-------------------- --------------------
wh wh
wq
wp
//右外连接
SQL> select a.name,b.name
2 from table1 a
3 right outer join table2 b
4 on a.id=b.id;
NAME NAME
-------------------- --------------------
wh wh
wr
//右外连接
SQL> select a.name,b.name
2 from table2 b
3 right outer join table1 a
相关文档:
oracle中connect by prior实现递归查询
收集的几条在oracle中通过connect by prior来实现递归查询
Start with...Connect By子句递归查询一般用于一个表维护树形结构的应用。
创建示例表:
CREATE TABLE TBL_TEST
(
ID NUMBER,
NAME VARCHAR2(100 BYTE),
PID NUMBER   ......
Oracle管理与维护.手工创建数据库以及脚本
转自 草木瓜
一、前言
说实话,早已厌倦了使用dbca的创建数据库,大概比较有点作用的是可以生成创建脚本罢。
《Oracle管理与维护.安装创建启动关闭数据库的常见问题(一)》(三、创建数据库)一文中有所提及。本文主要就是详述手
工使用脚本创建Oracle 10g数据库。
......
Microsoft Windows XP [版本 5.1.2600]
(C) 版权所有 1985-2001 Microsoft Corp.
C:\Documents and Settings\Admin>sqlplus "/ as sysdba"
SQL*Plus: Release 10.2.0.1.0 - Production on Fri Nov 20 19:31:44 2009
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to:
Oracle Database 10g E ......
今天看到一篇关于ORCLE的逻辑备份,冷、热备份的帖子讲的挺好的,不过这篇文章是以ORACLE 7为例子,虽然现在已经有很好很强大的RMAN,但还是觉得有必要转过来,不能喜新厌旧嘛。
==================================================================================
Oracle数据库的备份与恢复
---- 当我们 ......
start with....connect by prior....子句
例如:employee表中的数据如下:
employee_id name manager_id
1   ......