oracle显示多表数据,Oracle DB 使用连接显示多个表中的数据

这篇内容探讨了SQL:1999标准中的联接语法,包括自然联接、使用USING和ON子句的联接、OUTER联接(LEFT、RIGHT、FULL)以及笛卡尔积。它指出在Oracle9i之前的版本,这些联接方式与ANSI标准有所不同,并且没有性能优势。文章通过示例说明如何使用这些联接来访问和结合多个表中的数据。
摘要由CSDN通过智能技术生成

在Oracle9i之前的发行版中,该联接语法与美国国家标准协会(ANSI) 的标准不同。与以前发行版中的Oracle 专用联接语法相比,符合SQ

• 编写SELECT语句,以使用等值联接和非等值联接访问多个表中的数据

• 使用自联接将表联接到自身

• 使用OUTER联接查看通常不满足联接条件的数据

• 生成两个或多个表中所有行的笛卡尔积

• JOIN的类型及其语法

• 自然联接:

– USING子句

– ON子句

• 自联接

• 非等值联接

• OUTER联接:

– LEFT OUTER联接

– RIGHT OUTER联接

– FULL OUTER联接

• 笛卡尔积

– 交叉联接

获取多个表中的数据

有时需要使用多个表中的数据。如两个独立表中的数据:

• 雇员ID 在EMPLOYEES表中。

• 部门ID 在EMPLOYEES和DEPARTMENTS两个表中。

• 部门名称在DEPARTMENTS表中。

要生成该报表,需要将EMPLOYEES表和DEPARTMENTS表链接起来,,然后访问这两个表中的数据。

联接类型

符合SQL:1999 标准的联接包括:

• 自然联接:

– NATURAL JOIN子句

– USING子句

– ON子句

• OUTER联接:

– LEFT OUTER JOIN

– RIGHT OUTER JOIN

– FULL OUTER JOIN

• 交叉联接

要联接各个表,可以使用符合SQL:1999 标准的联接语法。

附注

• 在Oracle9i之前的发行版中,该联接语法与美国国家标准协会(ANSI) 的标准不同。

与以前发行版中的Oracle 专用联接语法相比,符合SQL:1999 的联接语法没有任何性能优势。

使用SQL:1999 语法将表联接起来

使用联接可查询多个表中的数据:

SELECT table1.column, table2.column

FROM table1

[NATURAL JOIN table2] |

[JOIN table2 USING (column_name)] |

[JOIN table2 ON (table1.column_name = table2.column_name)]|

[LEFT|RIGHT|FULL OUTER JOIN table2 ON (table1.column_name = table2.column_name)]|

[CROSS JOIN table2];

在该语法中:

• table1.column表示从中检索数据的表和列

• NATURAL JOIN根据相同的列名联接两个表

• JOIN table2 USING column_name根据列名执行等值联接

• JOIN table2 ON table1.column_name = table2.column_name根据ON子句中的条件执行等值联接

• LEFT/RIGHT/FULL OUTER用于执行OUTER联接

• CROSS JOIN用于返回两个表的笛卡尔积

更多详情见请继续阅读下一页的精彩内容:

logo.gif

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值