SQL问题求教 假设表A,有字段A_COL小弟想问下,在where子句中有一个条件是 'and A.A_COL(+) is NULL'这里的(+)是什么意思,有人说是把空值也显示,不懂,条件子句和显示有什么关系 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 给你个例子 SQL> SELECT D.DEPTNO,E.EMPNO,E.ENAME,E.JOB,E.HIREDATE,E.SAL 2 FROM 3 DEPT D,EMP E 4 WHERE D.DEPTNO=E.DEPTNO(+);--显示dept表中的deptno即使在emp中没有 DEPTNO EMPNO ENAME JOB HIREDATE SAL---------- ---------- ---------- --------- -------------- ---------- 10 7782 CLARK MANAGER 09-6月 -81 2450 10 7839 KING PRESIDENT 17-11月-81 5000 10 7934 MILLER CLERK 23-1月 -82 1300 20 7369 SMITH CLERK 17-12月-80 800 20 7566 JONES MANAGER 02-4月 -81 2975 20 7788 SCOTT ANALYST 19-4月 -87 3000 20 7876 ADAMS CLERK 23-5月 -87 1100 20 7902 FORD ANALYST 03-12月-81 3000 30 7499 ALLEN SALESMAN 20-2月 -81 1600 30 7521 WARD SALESMAN 22-2月 -81 1250 30 7654 MARTIN SALESMAN 28-9月 -81 1250 DEPTNO EMPNO ENAME JOB HIREDATE SAL---------- ---------- ---------- --------- -------------- ---------- 30 7698 BLAKE MANAGER 01-5月 -81 2850 30 7844 TURNER SALESMAN 08-9月 -81 1500 30 7900 JAMES CLERK 03-12月-81 950 40 这是Oracle的外连接形式,具体你可以参考:http://www.examda.com/oracle/zonghe/20100607/093510617.html 别用了这个了,oracle的老写法了,现在oracle都支持sql99了,还是用left join吧。 首先谢谢你的回答左右用=比较的时候,我知道(+)的意义,你的这个例子是平常用的,我想问的是当一边为is null的时候表示什么意思是一样的吗?貌似真是一样的,就是说显示所有的值,无论是否为空。但是本身就去比较NULL,不是会矛盾吗?或者说是多此一举,和'and A.A_COL is NULL'有什么区别呢? (+)号一般表示左右连接,这么用虽然语法不会报错,但无任何意义,等价A.A_COL is NULL 如何让两张视图中的相关字段求和 ASFU版本的ORACLE是否可以使用RAC oracle触发器中NEW_VALUE和OLD_VALUE的问题。。谢谢大家了 oracle developer 开发,急急!! 大家快来救救我!oracle8.1.7数据库导入问题! C#中远程连接Oracle数据库怎么写? oracle字段问题 NAT转换后远程访问oracle的问题 想改oracle的最大连接数?? ORA-0113错误是什么意思,怎么解决 suse linux系统中oracle使用conn连接数据库的问题,谢谢。 请各位帮忙搞定一条sql
2 FROM
3 DEPT D,EMP E
4 WHERE D.DEPTNO=E.DEPTNO(+);--显示dept表中的deptno即使在emp中没有 DEPTNO EMPNO ENAME JOB HIREDATE SAL
---------- ---------- ---------- --------- -------------- ----------
10 7782 CLARK MANAGER 09-6月 -81 2450
10 7839 KING PRESIDENT 17-11月-81 5000
10 7934 MILLER CLERK 23-1月 -82 1300
20 7369 SMITH CLERK 17-12月-80 800
20 7566 JONES MANAGER 02-4月 -81 2975
20 7788 SCOTT ANALYST 19-4月 -87 3000
20 7876 ADAMS CLERK 23-5月 -87 1100
20 7902 FORD ANALYST 03-12月-81 3000
30 7499 ALLEN SALESMAN 20-2月 -81 1600
30 7521 WARD SALESMAN 22-2月 -81 1250
30 7654 MARTIN SALESMAN 28-9月 -81 1250 DEPTNO EMPNO ENAME JOB HIREDATE SAL
---------- ---------- ---------- --------- -------------- ----------
30 7698 BLAKE MANAGER 01-5月 -81 2850
30 7844 TURNER SALESMAN 08-9月 -81 1500
30 7900 JAMES CLERK 03-12月-81 950
40
首先谢谢你的回答
左右用=比较的时候,我知道(+)的意义,你的这个例子是平常用的,我想问的是当一边为is null的时候表示什么意思
是一样的吗?
貌似真是一样的,就是说显示所有的值,无论是否为空。
但是本身就去比较NULL,不是会矛盾吗?或者说是多此一举,和'and A.A_COL is NULL'有什么区别呢?