+ 在sql中的应用,留做参考

来源:互联网 发布:可以sql注入的网站 编辑:程序博客网 时间:2024/05/17 22:16
18.2 使用(+)操作符
      在oracle 9i之前,执行外连接的时候,都是使用(+)来完成的。虽然现在仍旧可以使用
      操作符(+)执行外连接操作,但oracle开始建议使用OUTER JOIN执行外连接,以使得和标准SQL兼容。
      注意1:(+)只能出现在WHERE子句中,并且不能与OUTER JOIN(也就是LEFT JOIN和RIGHT JOIN)同时使用。
      注意2:如果在WHERE子句中包含有多个条件,则必须所有条件都包含(+)操作符号。
      注意3:(+)只适用于列,而不能用在表达式。
      注意4:(+)不能与OR、IN操作符一起使用。
      注意5:(+)不能用于实现全连接(FULL JOIN).
[sql] view plaincopyprint?
  1. --使用(+)执行左外连接,与LEFT JOIN完全一样  
  2. SQL> SELECT a.dname,b.ename  
  3.   2  FROM dept a,emp b  
  4.   3  WHERE a.deptno=b.deptno(+)  
  5.   4  AND b.deptno(+)=30;  
  6.    
  7. DNAME          ENAME  
  8. -------------- ----------  
  9. ACCOUNTING       
  10. RESEARCH         
  11. SALES          ALLEN  
  12. SALES          WARD  
  13. SALES          JAMES  
  14. SALES          BLAKE  
  15. SALES          TURNER  
  16. SALES          MARTIN  
  17. OPERATIONS       
  18.    
  19. rows selected    
  20.         
  21. --使用(+)执行右外连接,与RIGHT JOIN完全一样  
  22. SQL> SELECT a.dname,b.ename  
  23.   2  FROM dept a,emp b  
  24.   3  WHERE a.deptno(+)=b.deptno  
  25.   4  AND a.deptno(+)=30;  
  26.    
  27. DNAME          ENAME  
  28. -------------- ----------  
  29. SALES          JAMES  
  30. SALES          TURNER  
  31. SALES          BLAKE  
  32. SALES          MARTIN  
  33. SALES          WARD  
  34. SALES          ALLEN  
  35.                MILLER  
  36.                KING  
  37.                CLARK  
  38.                JONES  
  39.                SMITH  
  40.                SCOTT  
  41.                ADAMS  
  42.                FORD  
  43.    
  44. 14 rows selected  
原文:http://blog.csdn.net/edcvf3/article/details/7898163

原创粉丝点击