加入收藏
设为首页
联系我们

赛度首页 - 电脑基础 - 操作系统 - 办公软件 - 图形图像 - 网络应用 - 安全中心 - 硬件知识 - 手机数码 - 下载中心 - 交流论坛 

您现在的位置: 赛度网 >> 电脑基础 >> 服务器配置 >> 正文
ORACLE8i,9i表连接方法全介绍

ORACLE8i,9i表连接方法全介绍

发布于:2007-10-28 15:32:01 作者:赛度网 来源:不详


  一般的相等连接:
select * from a, b where a.id = b.id;
这个就属于内连接。

对于外连接:
Oracle中可以使用“( ) ”来表示,9i可以使用LEFT/RIGHT/FULL OUTER JOIN

LEFT OUTER JOIN:左外关联
SELECT e.last_name, e.department_id, d.department_name
FROM employees e
LEFT OUTER JOIN departments d
ON (e.department_id = d.department_id);
等价于
SELECT e.last_name, e.department_id, d.department_name
FROM employees e, departments d
WHERE e.department_id=d.department_id( )
结果为:所有员工及对应部门的记录,包括没有对应部门编号department_id的员工记录。

RIGHT OUTER JOIN:右外关联
SELECT e.last_name, e.department_id, d.department_name
FROM employees e
RIGHT OUTER JOIN departments d
ON (e.department_id = d.department_id);
等价于
SELECT e.last_name, e.department_id, d.department_name
FROM employees e, departments d
WHERE e.department_id( )=d.department_id
结果为:所有员工及对应部门的记录,包括没有任何员工的部门记录。

FULL OUTER JOIN:全外关联
SELECT e.last_name, e.department_id, d.department_name
FROM employees e
FULL OUTER JOIN departments d
ON (e.department_id = d.department_id);
结果为:所有员工及对应部门的记录,包括没有对应部门编号department_id的员工记录和没有任何员工的部门记录。

ORACLE8i是不直接支持完全外连接的语法,也就是说不能在左右两个表上同时加上( ),下面是在ORACLE8i可以参考的完全外连接语法
select t1.id,t2.id from table1 t1,table t2 where t1.id=t2.id( )
union
select t1.id,t2.id from table1 t1,table t2 where t1.id( )=t2.id


关于ORACLE8i,9i表连接方法全介绍的学习及相关资料 文章结束,如果您想详细了解是什么意思,怎么使用?请进入 bbs.ccidu.com 为您详细解答!
 
  • 上一篇知识:

  • 下一篇知识:
  •  
    最新推荐 最新更新 相关知识
    ·保护DNS服务器的技巧
    ·微软发表支持所有SWIFT信息的软件
    ·Linux下快速安装“apache php3 mysql
    ·本文只讨论如何在Windows NT 4.0上安
    ·安装配置篇apache resin
    ·安装jboss3 Tomcat4 mysql
    ·Windows2000 TOMCAT 5.02开发环境快速
    ·Windows2000 server下的Apache2.0.46
    ·25.6TB!Winchester将发售SATA磁盘阵列
    ·Win32下使用AJP整合Tomcat 4.0.4和Ap
    如何安装Oracle8i服务器
    如何集成Linux、Apache、PHP