首页
诗词
字典
板报
句子
名言
友答
励志
学校
网站地图
其他数据库
SQL Server
Mysql
oracle
IBM DB2
Informix
Sybase
Access
VFP
数据库开发
其他数据库
当前位置:
首页
>
教程频道
>
数据库
>
其他数据库
>
Oracle上下全连接总结
2012-08-07
Oracle左右全连接总结?Oracle左右全连接总结?--建立测试数据??create?table?a(id?number)??create?table?
Oracle左右全连接总结
?
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 ? ??
?
查看更多
下一篇
本文网址:
https://www.reader8.net/jiaocheng/20120807/1819699.html
读书人精选
热点排行
Oracle更动端口后lsnrctl无法启动
oracle 承停
JSP数据库是不是必须要用数据源
Oracle会话数量查询及完结会话方法
查看哪些表被锁跟怎样解锁
惯用的数据库连接方法(ODBC,OLE DB ,UD
响应UIWebView的点击事件(播放声音),从
oracle10g的catalog配备
MongoDB学习(3)Capped Collections
一次剔除还是分批删除