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 plain
copy
print?
--使用(+)執行左外連線,與left join完全一樣
sql> select a.dname,b.ename
2 from dept a,emp b
3 where a.deptno=b.deptno(+)
4 and b.deptno(+)=30;
dname ename
-------------- ----------
accounting
research
sales allen
sales ward
sales james
sales blake
sales turner
sales martin
operations
9 rows selected
--使用(+)執行右外連線,與right join完全一樣
sql> select a.dname,b.ename
2 from dept a,emp b
3 where a.deptno(+)=b.deptno
4 and a.deptno(+)=30;
dname ename
-------------- ----------
sales james
sales turner
sales blake
sales martin
sales ward
sales allen
miller
king
clark
jones
smith
scott
adams
ford
14 rows selected
原文:
sql迴圈語句在update中的應用
在實際的開發場景中,我們有時候要對錶中的所有資料進行批量修改,但是當資料量十分盤龐大時,比如幾百萬幾千萬條資料,這時候我們執行update語句的話就會長時間鎖住該錶。這樣非常容易造成死鎖現象 在企業中dba肯定是不允許執行這種sql語句的 所以為了避免出現這種問題,我們在執行批量修改的語句時就要分批...
SQL中XQuery XML的應用
xml及sql作為兩種儲存資料的主流方式,各自有各自的優勢.為此主流的資料庫產品中陸續的加入了對xml的支援.1.對於sql返回的結果集可以對其進行xml轉換.2.在ms sql2005中加入了xml型別.允許將xml資料存入對應的表列中,並且也實現了結合xquery 部分功能未實現 來對xml資料...
在SQL的儲存過程中應用游標計算
建立乙個儲存過程,並返回乙個已經開啟的游標 create procedure return cursor userid varchar 40 cur kpi guid cursor varying output as begin set cur kpi guid cursor local scrol...