Oracle命令 外部结合
2012-06-01 19:33:37 来源:WEB开发网核心提示:现在观察两个结合查询的表,红色标注主表(P),Oracle命令 外部结合(2),查询字段为:<span style="color: rgb(255, 102, 102); "> P.EMP_NAME, P.EMP_ADDR, P.EMP_CITY, P.EMP_PHONE</spa
现在观察两个结合查询的表,红色标注主表(P),查询字段为:
<span style="color: rgb(255, 102, 102); "> P.EMP_NAME, P.EMP_ADDR, P.EMP_CITY, P.EMP_PHONE</span>
蓝色标注临时表(T),查询字段为:
T.EMP_ZIP
当 '+'(结合标志) 附属在T表上时,除了返回满足查询条件WHERE P.EMP_ID=T.EMP_ID的信息外,同时还会返回P对应的查询字段: row_1, row_3, row_5。
反过来查询,让‘+’标志和主表P结合:
<span style="font-family:verdana, arial, helvetica;">SQL> SELECT P.EMP_NAME, P.EMP_ADDR, P.EMP_CITY, P.EMP_PHONE, T.EMP_ZIP FROM EMPLOYEE_CHECK P, EMPLOYEE_CHECK_TMP T WHERE P.EMP_ID(+) = T.EMP_ID; EMP_NAME EMP_ADDR EMP_CITY EMP_PHONE EMP_ZIP -------------------- -------------------- -------------------- ----------- ------- CAI FANG JIE YANG MEI VILLAGE SHEN ZHEN 18218429577 518000 WU JING XIN MING ZHU YUAN WU HAN 187****235 430060 430060</span>
--可以看到除了返回满足条件的查询信息外,还返回了T表的其他字段,当然由于T表的查询字段只有EMP_ZIP字段,所以其他字段都为NULL。
更为形象的查询结构如: FROM T RIGHT OUTER JOIN P ON T.EMP_ID=P.EMP_ID ;---@_1
<span style="font-family:verdana, arial, helvetica;">SQL> SELECT P.EMP_NAME, P.EMP_ADDR, P.EMP_CITY, P.EMP_PHONE, T.EMP_ZIP FROM EMPLOYEE_CHECK P RIGHT OUTER JOIN EMPLOYEE_CHECK_TMP T ON P.EMP_ID = T.EMP_ID; EMP_NAME EMP_ADDR EMP_CITY EMP_PHONE EMP_ZIP -------------------- -------------------- -------------------- ----------- ------- CAI FANG JIE YANG MEI VILLAGE SHEN ZHEN 18218429577 518000 WU JING XIN MING ZHU YUAN WU HAN 187****235 430060 430060</span>
当使用RIGHT OUTER JOIN 时,返回右边的表即:T 表,除返回满足查询条件之外的,还包括T表其他的所有字段。
更为形象的查询结构如: FROM T LEFT OUTER JOIN P ON T.EMP_ID=P.EMP_ID ;---@_2
<span style="font-family:verdana, arial, helvetica;">SQL> SELECT P.EMP_NAME, P.EMP_ADDR, P.EMP_CITY, P.EMP_PHONE, T.EMP_ZIP FROM EMPLOYEE_CHECK P LEFT OUTER JOIN EMPLOYEE_CHECK_TMP T ON P.EMP_ID = T.EMP_ID; EMP_NAME EMP_ADDR EMP_CITY EMP_PHONE EMP_ZIP -------------------- -------------------- -------------------- ----------- ------- ZOU QI LEI YANG MEI VILLAGE SHEN ZHEN 123456789 CAI FANG JIE YANG MEI VILLAGE SHEN ZHEN 18218429577 518000 LU JING HUAN YANG MEI VILLAGE GUANG ZHOU 1397165903 WU JING XIN MING ZHU YUAN WU HAN 187****235 430060 LI WEI XIAO QU WU HAN 197****436 </span>
- ››oracle 中 UPDATE nowait 的使用方法
- ››Oracle ORA-12560解决方法
- ››Oracle 10g RAC 常用维护命令
- ››Oracle如何在ASM中定位文件的分布
- ››Oracle的DBMS_RANDOM.STRING 的用法
- ››oracle 外部表导入时间日期类型数据,多字段导入
- ››Oracle中查找重复记录
- ››oracle修改用户登录密码
- ››Oracle创建删除用户、角色、表空间、导入导出等命...
- ››Oracle中登陆时报ORA-28000: the account is lock...
- ››Oracle数据库在配置文件中更改最大连接数
- ››Oracle中在pl/sql developer修改表的两种方式
更多精彩
赞助商链接