Oracle左右全连接总结
--建立测试数据
create table a(id number);
create table b(id number);
insert into a values(1);
insert into a values(2);
insert into a values(3);
insert into b values(1);
insert into b values(2);
insert into b values(4);
commit;
--左:
--主流数据库通用的方法
select * from a left join b on a.id=b.id;
--Oracle特有的方法
select * from a, b where a.id=b.id(+);
ID ID
---------- ----------
1 1
2 2
3
--右:
--主流数据库通用的方法
select * from a right join b on a.id=b.id;
--Oracle特有的方法
select * from a, b where a.id(+)=b.id;
ID ID
---------- ----------
1 1
2 2
4
--内
--主流数据库通用的方法
select * from a join b on a.id=b.id;
--where关联
select * from a, b where a.id=b.id;
ID ID
---------- ----------
1 1
2 2
--全外
--主流数据库通用的方法
select * from a full join b on a.id=b.id;
--Oracle特有的方法
select *
from a, b
where a.id = b.id(+)
union
select *
from a, b
where a.id(+) = b.id;
ID ID
---------- ----------
1 1
2 2
3
4
--完全,也叫交叉连接或者笛卡尔积
--主流数据库通用的方法
select * from a,b;
--或者
select * from a cross join b;
ID ID
---------- ----------
1 1
1 2
1 4
2 1
2 2
2 4
3 1
3 2
3 4
连接无非是这几个
--内连接和where相同
inner join
--左向外连接,返回左边表所有符合条件的
left join
--右向外连接,返回右边表所有符合条件的
right join
--完整外部连接,左向外连接和右向外连接的合集
full join
--交叉连接,也称笛卡儿积。返回左表中的每一行与右表中所有行的组合
cross join
--补充:
--左向外连接,返回左边表所有符合条件的,
--注意这里没有第二个加号,会直接过滤掉数据,只显示符合条件的记录
select *
from a, b
where a.id = b.id(+)
and b.id = 2;
ID ID
---------- ----------
2 2
--左向外连接,返回左边表所有符合条件的
--注意where上第二个加号,它的作用是修改右边表记录的显示,例如如果b.id(+) = 2,显示为2,否则显示null
select *
from a, b
where a.id = b.id(+)
and b.id(+) = 2;
ID ID
---------- ----------
2 2
3
1
==================转自 http://www.iteye.com/topic/462119================
分享到:
相关推荐
数据库连接全集 数据库连接全集 数据库连接全集 数据库连接全集 数据库连接全集 数据库连接全集 数据库连接全集 数据库连接全集 数据库连接全集 数据库连接全集 数据库连接全集 数据库连接全集 数据库连接全集
各种数据库的连接文档JDBC连接数据库经验总结
JAVA 使用数据库连接池连接Oracle数据库,全代码,附加详细说明
连接数据库连接数据库连接数据库连接数据库连接数据库连接数据库连接数据库连接数据库.
数据库连接类数据库连接类数据库连接类数据库连接类数据库连接类数据库连接类数据库连接类数据库连接类数据库连接类数据库连接类数据库连接类数据库连接类数据库连接类数据库连接类数据库连接类数据库连接类数据库...
数据库连接 数据库的简单连接 详解 数据库连接 数据库的简单连接 详解
数据库连接数据库连接数据库连接数据库连接数据库连接
数据库连接数据库连接数据库连接数据库连接
Java应用程序访问数据库的基本原理 在Java语言中,JDBC(Java ...JDBC提供两种API,分别是面向开发人员的API和面向底层的JDBC驱动程序API,底层主要通过直接的JDBC驱动和JDBC-ODBC桥驱动实现与数据库的连接。
数据库连接 数据库 连接 模型 数据库连接 数据库 连接 模型 数据库连接 数据库 连接 模型
VB如何与ACCESS数据库连接VB如何与ACCESS数据库连接VB如何与ACCESS数据库连接VB如何与ACCESS数据库连接VB如何与ACCESS数据库连接
java连接各种数据库!java数据库驱动连接! java与SQL server 2000的实例连接!
* 数据库连接池特点: * 获取连接时不需要了解连接的名字,连接池内部维护连接的名字 * 支持多线程,保证获取到的连接一定是没有被其他线程正在使用 * 按需创建连接,可以创建多个连接,可以控制连接的数量 * 连接...
jdbc连接数据库 jdbc连接数据库 jdbc连接数据库 jdbc连接数据库 jdbc连接数据库
Oracle 数据库表连接(Join)知识点总结 Oracle 数据库表连接(Join)是指从两个或多个表中检索数据,并且将它们组合成一个结果集的操作。连接操作可以大大提高数据库查询的效率,特别是在需要访问多个表中的字段...
ASP.NET连接各种数据库的连接字符串总结,包括Access ,Excel,SQL Server,ODBC,Oracle
java_jdbc数据库连接池总结 有讲原理,不错
Python连接Access数据库Python连接Access数据库Python连接Access数据库Python连接Access数据库Python连接Access数据库Python连接Access数据库Python连接Access数据库Python连接Access数据库Python连接Access数据库...
JDBC连接数据库测试JDBC连接数据库测试JDBC连接数据库测试JDBC连接数据库测试JDBC连接数据库测试JDBC连接数据库测试JDBC连接数据库测试JDBC连接数据库测试JDBC连接数据库测试JDBC连接数据库测试JDBC连接数据库测试...
常用的几种数据库连接方法总结,可以供参考,希望对别人有所帮助.