oracle 表连接特有写法与标准写法
发布时间:2020-12-12 14:20:12 所属栏目:百科 来源:网络整理
导读:oracle里表连接支持标准写法,但也有oracle特殊的写法,这两种写法在某些场景下会有差异,推荐使用标准写法,这里只是介绍表连接标准语法及了解oracle的特殊写法。 标准连接语法: select table1.column,table2.column from table1 [corss join table2] [nat
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连接 selecttable1.column,table2.column fromtable1 innerjoin (selecttable4.column,table5.column fromtable4innerjointable5 ontable4.column=table5.column)astable2 ontable1.column=table2.column; 等同于 selecttable1.column,table2.column fromtable1,(selecttable4.column,table5.column fromtable4,table5 wheretable4.column=table5.column)astable2 wheretable1.column=table2.column; --连接table1,table2,table3,没有连接顺序之分 selecttable1.column,table2.column,table3.column fromtable1innerjointable2 ontable1.column=table2.column innerjointable3 ontable1.column=table3.column; 等同于 selecttable1.column,table3.column fromtable1,table2.table3 wheretable1.column=table2.columnandtable1.column=table3.column; 内连接: 标准写法: selecttable.column,table2.column fromtable1innerjointable2on(table1.column=table2.column); oracle 特殊写法: selecttable.column,table2 wheretable1.column=table2.column; 左连接: 标准写法: selecttable.column,table2.column fromtable1leftjointable2on(table1.column=table2.column); oracle 特殊写法: selecttable.column,table2 wheretable1.column=table2.column(+); 右连接: 标准写法: selecttable.column,table2.column fromtable1rightjointable2on(table1.column=table2.column); oracle 特殊写法: selecttable.column,table2 wheretable1.column(+)=table2.column; 全连接: 标准写法: selecttable.column,table2.column fromtable1fulljointable2on(table1.column=table2.column); oracle 特殊写法: selecttable.column,table2 wheretable1.column(+)=table2.column(+); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |