Oracle 使用连接显示多个表中的数据
? 编写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 的联接语法没有任何性能优势。