oracle的标准写法,oracle 表连接特有写法与标准写法
oracle里表連接支持標(biāo)準(zhǔn)寫法,但也有oracle特殊的寫法,這兩種寫法在某些場(chǎng)景下會(huì)有差異,推薦使用標(biāo)準(zhǔn)寫法,這里只是介紹表連接標(biāo)準(zhǔn)語法及了解oracle的特殊寫法。
標(biāo)準(zhǔn)連接語法:
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)];
實(shí)際使用中on關(guān)鍵字后的連接字段不用括號(hào)也可以正常使用。
多表連接:
--先連接table4和table5并將其結(jié)果集命名為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;
內(nèi)連接:
標(biāo)準(zhǔn)寫法:
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;
左連接:
標(biāo)準(zhǔn)寫法:
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(+);
右連接:
標(biāo)準(zhǔn)寫法:
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;
全連接:
標(biāo)準(zhǔn)寫法:
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(+);
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的oracle的标准写法,oracle 表连接特有写法与标准写法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: react 拖拽连接插件_一款精美的 r
- 下一篇: naarray查询 swift_数据分析