主頁 > 知識庫 > Oracle基礎學習之子查詢

Oracle基礎學習之子查詢

熱門標簽:鐵路電話系統(tǒng) Linux服務器 網站排名優(yōu)化 百度競價排名 服務外包 呼叫中心市場需求 AI電銷 地方門戶網站

首先使用子查詢的時候注意事項包括,子查詢可以嵌套多層和子查詢需要圓括號()括起來,下面我們來看看詳細的介紹。

基礎介紹

1,wherer:子查詢一般會返回單行單列 單行多列 多行單列 ;

2,having:子查詢會返回單行單列,同時表示要使用統(tǒng)計函數(shù);

3,from:子查詢返回多行多列數(shù)據(jù)(表結構);

4,select:返回單行單列 (一般不使用);

示例詳解

where(進行數(shù)據(jù)行的篩選操作):

a:查詢出低于公司平均工資的雇員信息。

select * from emp where sal(select avg(sal) from emp);

以上的查詢返回單行單列可以作為where子句的過濾條件使用;

b:查詢公司最早雇傭的雇員的信息。

select * from emp where hiredate= (select MIN(hiredate) from emp);

C:查詢與scott從事同一工作并且工資相同的雇員信息。

 select* from emp

 where (job,sal) =( select job,sal

 from emp

 where ename ='scott') and ename >'scott';

in:指的是與子查詢返回的內容相同。

  select * from emp where sal in (select sal from emp where job = 'manager');

not in:

select* from emp where sal not in(select sal from emp where job='manager');

子查詢中不能有空。

any:

 select* from emp where sal = any(select sal from emp where job='manager');

select* from emp where sal > any(select sal from emp where job='manager');

比子查詢的返回的最大值要大

 select* from emp where sal  any(select sal from emp where job='manager');

比子查詢返回的最大值要小

all:

all :比子查詢的返回的最小值要小

     all :比子查詢的返回的最大值要大

     where子查詢的幾率很高;

having:

查詢出高于公司平均工資的職位名稱 職位人數(shù) 平均工資。

 select job,count(empno),avg(sal) from emp group by job 
 having avg(sal)>(select avg(sal) from emp);

select(一般不用):

查詢每個雇員的編號姓名 職位 部門名稱。

 select e.empno,e.ename,e.job,

 (select d.dname from dept d whered.deptno=e.deptno)from emp e;

(1+n) 次查詢;

from(重點):

查詢出每個部門的名稱 位置 部門人數(shù)。

 select d.dname,d.loc,count(e.empno)

 from emp e,dept d

 where e.deptno(+)=d.deptno

 group by d.dname,d.loc;

(多表查詢)

  分步1: select d.deptno,d.dname,d.locfrom dept d;

  分步2:select deptno,count(empno)from emp group by deptno;



 正確的查詢:

 select d.deptno,d.dname,d.loc,temp.count 
 from dept d,(select deptno,count(empno) count from emp
 group by deptno) temp 
 where d.deptno=temp.deptno(+);

多表查詢和子查詢都能實現(xiàn)統(tǒng)計,那么那種方式更好呢?

答:在實際的工作當中,子查詢的主要目地是解決多表查詢的性能問題,所以在開發(fā)中使用的是 最多的。最大作用是解決多表查詢帶來的笛卡爾積影響性能的問題。

復雜查詢= 簡單查詢+限定查詢+ 多表查詢+ 分組統(tǒng)計查詢 +子查詢;

總結

以上就是關于Oracle子查詢的全部內容,希望本文的內容對大家學習或者使用Oracle能有所幫助,如果有疑問大家可以留言交流。

您可能感興趣的文章:
  • Oracle 11GR2的遞歸WITH子查詢方法
  • Oracle數(shù)據(jù)庫中基本的查詢優(yōu)化與子查詢優(yōu)化講解
  • Oracle通過遞歸查詢父子兄弟節(jié)點方法示例
  • 一個oracle+PHP的查詢的例子
  • oracle基本查詢用法入門示例
  • oracle 查詢表名以及表的列名
  • oracle查詢語句大全(oracle 基本命令大全一)
  • oracle數(shù)據(jù)庫常用的99條查詢語句
  • ORACLE查詢刪除重復記錄三種方法
  • oracle常用sql查詢語句部分集合(圖文)
  • oracle基本查詢操作子查詢用法實例分析

標簽:湘潭 蘭州 崇左 仙桃 衡水 銅川 黃山 湖南

巨人網絡通訊聲明:本文標題《Oracle基礎學習之子查詢》,本文關鍵詞  ;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266