注意:外連線,既能查詢出符合條件的記錄,也能根據一方強行將另一方查詢出來。
注意:在oracle中,將(+)出現在=號右邊,稱為左外連線;將(+)出現在=號左邊,稱為右外連線;左外或右外,本質上是一樣的,只是(+)的位置不一樣,且(+)只能出現一次,以上語法是oracle專用語法。
例1:按部門10,20,30,40號,統計各部門員工的人數,要求顯示部門號、部門名、人數。
解一:使用左外連線:
select dept.deptno,dept.dname,count(emp.empno)
from dept,emp
where dept.deptno=emp.deptno(+)
group by dept.deptno,dept.dname;
解二:使用右外連線:
select dept.deptno,dept.dname,count(emp.empno)
from dept,emp
where emp.deptno(+)=dept.deptno
group by dept.deptno,dept.dname;
例2:按部門10,20,30,40號,統計各部門員工的人數,要求顯示部門號、部門名、人數,且按人數降序排列:
select dept.deptno,dept.dname,count(emp.empno)
from dept,emp
where dept.deptno=emp.deptno(+)
group by dept.deptno,dept.dname
order by count(emp.empno) desc;
oracle外連線查詢
講外連線之前,先舉例介紹內連線,也就是一般的相等連線。select from a,b where a.id b.id 對於外連線,oracle中可以使用 來表示,9i可以使用left right full outer join,下面將配合例項一一介紹。1.left outer join 左外關聯 s...
oracle連線查詢 內連線 外連線 全連線
oracle 中的連線可分為,內連線 inner join 外連線 outer join 全連線 full join 不光是oracle 其他很多的資料庫也都有這3 種連線查詢方式 內連線inner join 這是我們經常用的查詢方式,比如select from a,b where a.field1...
Oracle外連線查詢資料不全
plsql中寫好的外連線,條件什麼的都沒問題,但是查詢出來的結果只有左右完全匹配上的記錄,主表有而從表沒有的記錄都不顯示,也就是說,主表記錄顯示不全!這個,把從表的篩選條件,放到on子句中而不是where子句中。select k.spbh,sum c.jssl as 銷售,sum k.kcsl as...