关于ORACLE外连接(+)
现在有以下两张表:
表A 员工(EMPLOYEE)
EMP_NO
EMP_NAME
JOB
DEPT_NO
1
1
HXF
PRESIDENT
2
2
2
SCOTT
CLERK
1
3
3
SMITH
SALESMAN
3
4
4
JOHN
MANAGER
表B 部门(DEPARTMENT)
DEPT_NO
DEPT_NAME
LOCATION
DEL_FLG
1
1
ACCOUNTING
HANGZHOU
0
2
2
RESEARCH
BEIJING
0
3
3
OPERATIONS
SHANGHAI
1
其中部门表中字段DEL_FLG为0表示该条记录已删除,是无效记录;反之相反。
如果需要找出表A中的所有记录,并关联上表B中的有效记录,我们很可能会写出以下三种SQL语句:
语句一:
SELECT A.EMP_NAME, A.JOB, B.*
from EMPLOYEE A, DEPTMENT B
WHERE A.DEPT_NO = B.DEPT_NO(+)
AND B.DEL_FLG(+) = '0'
该语句利用Oracle的外连接符号,并用条件B.DEL_FLG(+) = '0'限定表B种的有效记录。也有人可能会写成语句二:
语句二:
SELECT A.EMP_NAME, A.JOB, B.*
from EMPLOYEE A, DEPTMENT B
WHERE A.DEPT_NO = B.DEPT_NO(+)
AND B.DEL_FLG = '0'
语句二中表B中的字段DEL_FlG没带外连接符号。还有种写法,如语句三:
语句三:
SELECT *
from (SELECT A.EMP_NAME
相关文档:
IN条件
用IN条件在指定的一组值中进行测试。IN条件也就是 成员条件。
在幻灯片的例子中显示所有经理号为100、101或201的雇员的employee numbers, last names, salaries和经理的employee numbers。
在IN条件中可以使用任何数据类型。下面的例子从EMPLOYEES表返回雇员信息行,这些雇员的名字包括在WHERE子句的名字列 ......
跟着这几天Oracle OpenWorld大会的举行,Oracle11g的新特征越来越多的被展现出来。
以前,我曾经引见过Oracle11g将可能在10月份的这个大会上推出,当初至于Alpha版的信息已经可以见到,现时出现的已经是Beta版,离Oracle11g的正式版已经不远。
Laurent Schneider 在他的Blog中谈到,对于Oracle11g的名字还 ......
二零零九年十月二十日,打从三年前推出Oracle加紧计划以来,甲骨文公司已经增加了七,000多家治理软件中型企业客户,当前中型企业客户总量已经超过25,000家。
透过推出马向中型企业客户的Oracle加快计划新功能,包括新式加快计划解决方案、Oracle企业加速器、财务选件和调度步骤等,甲骨文在不停兑现顺利。
面临中型 ......