详解oracle多种表连接方式,详解Oracle多种表连接方式

ORACLE 多表连接与子查询

连接的类型

Oracle8i之前的表连接:

等值连接(Equijoin)

非等值连接(Non-Equijoin)

外连接(Outer join):-->左外连接-->右外连接

自连接(Self join)

Oracle9之后新引入的连接形式(支持SQL99规范)

交叉连接(Cross join)

自然连接(Natural join)

使用Using子句建立连接

使用on子句建立连接

外连接(Outer join):-->左外连接-->右外连接-->全外连接

oracle中的连接可分为,

1. 内连接(自然连接)

2. 外连接

(1)左外连接 (左边的表不加限制)

(2)右外连接(右边的表不加限制)

(3)全外连接(左右两表都不加限制)

3. 自连接(同一张表内的连接)

4、交叉连接(cross join) (即 笛卡尔积)

5、其他连接定义(可能属于上面3种中的某一种)

(1)等值连接(equijoin)

(2)非等值连接(non-equijoin)

(3)on建立查询连接

(4)using 建立查询连接

SQL的标准语法:

多表连接使用SQL99连接语法,两个以上的表进行连接时应依次/分别指定相临的两个表之间的连接条件.

select 字段列表

from table1

[cross join table2] |

[natural join table2] |

[join table2 using(字段名)] |

[join table2 on(table.column_name=table2.column_name)] |

[(left | right | full out ) join table2

on(table1.column_name=table2.column_name)]

[cross join table3] |

[natural join table3] |

[join table3 using(字段名)] |

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值