成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

Oracle系列:(14)子查詢

子查詢的作用:查詢條件未知的事物

創(chuàng)新互聯(lián)建站企業(yè)建站,10余年網(wǎng)站建設(shè)經(jīng)驗(yàn),專注于網(wǎng)站建設(shè)技術(shù),精于網(wǎng)頁設(shè)計(jì),有多年建站和網(wǎng)站代運(yùn)營經(jīng)驗(yàn),設(shè)計(jì)師為客戶打造網(wǎng)絡(luò)企業(yè)風(fēng)格,提供周到的建站售前咨詢和貼心的售后服務(wù)。對于成都網(wǎng)站建設(shè)、成都做網(wǎng)站中不同領(lǐng)域進(jìn)行深入了解和探索,創(chuàng)新互聯(lián)在網(wǎng)站建設(shè)中充分了解客戶行業(yè)的需求,以靈動(dòng)的思維在網(wǎng)頁中充分展現(xiàn),通過對客戶行業(yè)精準(zhǔn)市場調(diào)研,為客戶提供的解決方案。

查詢條件已知的問題:例如:查詢工資為800的員工信息

查詢條件未知的問題:例如:查詢工資為20號(hào)部門平均工資的員工信息

一個(gè)條件未知的問題,可以分解為多個(gè)條件已知的問題

查詢工資比WARD高的員工信息

第一:查詢WARD的工資?

      select sal from emp where ename = 'WARD';

第二:查詢工資比1250高的員工信息?

      select * from emp where sal > 1250;

子查詢:

select * 
from emp 
where sal > (
    select sal 
    from emp 
    where ename = 'WARD'
);

Oracle系列:(14)子查詢

查詢'SALES'部門的員工信息(方式一:子查詢)

第一:查詢部門名為'SALES'的編號(hào)?

      select deptno from dept where dname = 'SALES';

第二:查詢部門號(hào)為30的員工信息? 

      select * from emp where deptno = 30;

子查詢:

select * 
from emp 
where deptno = (
  select deptno 
  from dept 
  where dname = 'SALES'
);

Oracle系列:(14)子查詢

子查詢細(xì)節(jié):

1)子查詢與父查詢可以針對同一張表 

2)子查詢與父查詢可以針對不同張表

3) 子查詢與父查詢在傳統(tǒng)參數(shù)時(shí),數(shù)量要相同

4) 子查詢與父查詢在傳統(tǒng)參數(shù)時(shí),類型要相同

5) 子查詢與父查詢在傳統(tǒng)參數(shù)時(shí),含義要相同

查詢部門名為'SALES'的員工信息(方式二:多表查詢)

select emp.*
from dept,emp
where (dept.deptno=emp.deptno) and (dept.dname='SALES');

查詢每個(gè)員工編號(hào),姓名,部門名,工資等級(jí)(三表查詢,這三張表并無外健關(guān)聯(lián))

select e.empno,e.ename,d.dname,s.grade
from emp e,dept d,salgrade s
where (e.deptno=d.deptno) and (e.sal between s.losal and s.hisal);

Oracle系列:(14)子查詢

查詢工資最低的員工信息(單行子查詢,使用=號(hào))

第一:查詢出工資最低是多少?

      select min(sal) from emp;

第二:查詢工資為800的員工信息?

      select * from emp where sal = 800;

子查詢:

select * 
from emp 
where sal = (
    select min(sal) 
    from emp
);

Oracle系列:(14)子查詢

查詢部門名為'ACCOUNTING'或'SALES'的員工信息(多行子查詢,使用in關(guān)鍵字)

第一:查詢部門名為'ACCOUNTING'或'SALES'的部門編號(hào)?

      select deptno from dept where dname in ('ACCOUNTING','SALES');

第二:查詢部門號(hào)為10或30號(hào)的員工信息?

      select * from emp where deptno in (10,30);

子查詢:

select * 
from emp 
where deptno in (
   select deptno 
   from dept 
   where dname in ('ACCOUNTING','SALES')
);

Oracle系列:(14)子查詢

查詢工資比20號(hào)部門【任意any】一個(gè)員工工資【低<】的員工信息(多行子查詢,使用any關(guān)鍵字) 

第一:查詢20號(hào)部門的所有工資?

      select sal from emp where deptno = 20;

第二:查詢工資比(800,2975,3000,1100,3000)任意一個(gè)低的員工信息?

      select * from emp where sal < any (800,2975,3000,1100,3000);

  

在oracle看來,<any就等于<集合中最大的那個(gè)值

子查詢:

select * 
from emp 
where sal <any (
    select sal 
    from emp 
    where deptno = 20
);

Oracle系列:(14)子查詢

查詢工資比30號(hào)部門【所有all】員工【低<】的員工信息(多行子查詢,使用all關(guān)鍵字) 

第一:查詢出30部門所有員工的工資?    

      select sal from emp where deptno = 30;

第二:查詢工資比(1600,1250,1250,2850,1500,950)中所有的工資都低的員工信息?

      select * from emp where sal <all (1600,1250,1250,2850,1500,950);

子查詢:

select * 
from emp 
where sal <all (
    select sal 
    from emp 
    where deptno = 30
);

Oracle系列:(14)子查詢

注意:不容易理解的幾個(gè)概念

單行函數(shù):輸入一個(gè)參數(shù),輸出一個(gè)結(jié)果

多行函數(shù):掃描多個(gè)參數(shù),輸出一個(gè)結(jié)果

單行子查詢:子查詢只會(huì)返回一個(gè)結(jié)果,例如:800,父查詢用=/<>/>=/<=這些符號(hào)來比較

多行子查詢:子查詢會(huì)返回多于一個(gè)結(jié)果,例如:30,20,父查詢用in/any/all這些符號(hào)來比較

當(dāng)多表查詢,子查詢同時(shí)能解決問題時(shí),按如下優(yōu)先方案選擇:

多表查詢-->子查詢

注意:上述結(jié)果不是說多表查詢可以替代子查詢,某些情況下,只能用子查詢解決,例如:oracle分頁

當(dāng)前名稱:Oracle系列:(14)子查詢
文章URL:http://jinyejixie.com/article20/jpdejo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站、關(guān)鍵詞優(yōu)化、自適應(yīng)網(wǎng)站移動(dòng)網(wǎng)站建設(shè)、App設(shè)計(jì)、服務(wù)器托管

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運(yùn)營
灵丘县| 唐海县| 阿坝| 会同县| 图木舒克市| 绥滨县| 广昌县| 鱼台县| 梅州市| 仁寿县| 上蔡县| 蛟河市| 辽宁省| 荔波县| 泰州市| 曲水县| 巴南区| 肃宁县| 宜兰县| 平度市| 灌南县| 双桥区| 达尔| 汕头市| 四平市| 广宁县| 宁国市| 岑巩县| 静安区| 江油市| 天水市| 宜兰市| 扬中市| 长垣县| 滨州市| 和龙市| 营口市| 绥芬河市| 裕民县| 乌海市| 浪卡子县|