oracle 表连接特有写法与标准写法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle 表连接特有写法与标准写法相关的知识,希望对你有一定的参考价值。
oracle里表连接支持标准写法,但也有oracle特殊的写法,这两种写法在某些场景下会有差异,推荐使用标准写法,这里只是介绍表连接标准语法及了解oracle的特殊写法。
标准连接语法:
select table1.column , table2.column
from table1
[corss join table2]
[national jon table2]
[join table2 using (column)]
[join table2 on (table1.column=table2.column)]
[left | right | full outer join table2 on (table1.column=table2.column)];
实际使用中on关键字后的连接字段不用括号也可以正常使用。
多表连接:
--先连接table4和table5并将其结果集命名为table2,再与table1连接 select table1.column,table2.column from table1 inner join ( select table4.column,table5.column from table4 inner join table5 on table4.column =table5.column ) as table2 on table1.column=table2.column; 等同于 select table1.column ,table2.column from table1 ,(select table4.column,table5.column from table4,table5 where table4.column=table5.column) as table2 where table1.column=table2.column; --连接table1,table2,table3,没有连接顺序之分 select table1.column,table2.column,table3.column from table1 inner join table2 on table1.column=table2.column inner join table3 on table1.column=table3.column; 等同于 select table1.column,table2.column,table3.column from table1,table2.table3 where table1.column=table2.column and table1.column=table3.column;
内连接:
标准写法:
select table.column , table2.column from table1 inner join table2 on (table1.column=table2.column);
oracle 特殊写法:
select table.column , table2.column from table1 ,table2 where table1.column=table2.column;
左连接:
标准写法:
select table.column , table2.column from table1 left join table2 on (table1.column=table2.column);
oracle 特殊写法:
select table.column , table2.column from table1 ,table2 where table1.column=table2.column(+);
右连接:
标准写法:
select table.column , table2.column from table1 right join table2 on (table1.column=table2.column);
oracle 特殊写法:
select table.column , table2.column from table1 ,table2 where table1.column(+)=table2.column;
全连接:
标准写法:
select table.column , table2.column from table1 full join table2 on (table1.column=table2.column);
oracle 特殊写法:
select table.column , table2.column from table1 ,table2 where table1.column(+)=table2.column(+);
本文出自 “天黑顺路” 博客,请务必保留此出处http://mjal01.blog.51cto.com/12140495/1975625
以上是关于oracle 表连接特有写法与标准写法的主要内容,如果未能解决你的问题,请参考以下文章