oracle中join的用法
2008-10-03 21:59
134 查看
oracle中join的用法
8i:
create table dali.test1(a int,b int);
create table dali.test2(a int,b int);
insert into dali.test1 values(1,456);
insert into dali.test1 values(2,427);
insert into dali.test2 values(1,45456);
insert into dali.test2 values(3,45656);
---内连接
select * from dali.test1 a, dali.test2 b where a.a=b.a;
---左连接
select * from dali.test1 a, dali.test2 b where a.a=b.a(+);
---右连接
select * from dali.test1 a, dali.test2 b where a.a(+)=b.a;
---完全连接
select * from dali.test1 a, dali.test2 b where a.a=b.a(+)
union
select * from dali.test1 a, dali.test2 b where a.a(+)=b.a;
---迪卡尔
select * from dali.test1, dali.test2;
'==================================================================
9i和sqlserver一样 left join,right join,full join
内连接结果:
A B A B
1 1 456 1 45456
'----------------------------
左连接结果:
A B A B
1 1 456 1 45456
2 2 427
'====================
右连接结果:
A B A B
1 1 456 1 45456
2 3 45656
'=============================
完全连接结果:
A B A B
1 1 456 1 45456
2 2 427
3 3 45656
'========================
笛卡尔结果:
A B A B
1 1 456 1 45456
2 2 427 1 45456
3 1 456 3 45656
4 2 427 3 45656
8i:
create table dali.test1(a int,b int);
create table dali.test2(a int,b int);
insert into dali.test1 values(1,456);
insert into dali.test1 values(2,427);
insert into dali.test2 values(1,45456);
insert into dali.test2 values(3,45656);
---内连接
select * from dali.test1 a, dali.test2 b where a.a=b.a;
---左连接
select * from dali.test1 a, dali.test2 b where a.a=b.a(+);
---右连接
select * from dali.test1 a, dali.test2 b where a.a(+)=b.a;
---完全连接
select * from dali.test1 a, dali.test2 b where a.a=b.a(+)
union
select * from dali.test1 a, dali.test2 b where a.a(+)=b.a;
---迪卡尔
select * from dali.test1, dali.test2;
'==================================================================
9i和sqlserver一样 left join,right join,full join
内连接结果:
A B A B
1 1 456 1 45456
'----------------------------
左连接结果:
A B A B
1 1 456 1 45456
2 2 427
'====================
右连接结果:
A B A B
1 1 456 1 45456
2 3 45656
'=============================
完全连接结果:
A B A B
1 1 456 1 45456
2 2 427
3 3 45656
'========================
笛卡尔结果:
A B A B
1 1 456 1 45456
2 2 427 1 45456
3 1 456 3 45656
4 2 427 3 45656
相关文章推荐
- 自动完成文本框(AutoCompleteTextView)的功能及用法
- STL Queue与Stack用法
- (转)android-Ultra-Pull-To-Refresh 的基本用法(适合于初学者)
- static的用法(一):静态成员变量和静态成员方法
- Findwindow函数用法
- MultiByteToWideChar和WideCharToMultiByte用法详解
- do while(0) 用法
- 基础知识sizeof用法
- C++中的norm函数的用法
- STL中map的用法
- iOS NSUserDefaults 的简单用法
- 链表(单双链表)用法与基本操作(构建、查找、插入、删除)实现
- Python中*args 和**kwargs的用法
- tcpdump的用法
- Java Thread join() 的用法
- queue与deque详解及用法
- STL的特性用法总结
- scikit-learn的基本用法(八)——模型保存与加载
- RecyclerView之更新UI数据的高级用法
- static的用法(二):静态代码块和非静态代码块