你這問(wèn)題也問(wèn)得太籠統(tǒng)了吧?

創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:做網(wǎng)站、網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿(mǎn)足客戶(hù)于互聯(lián)網(wǎng)時(shí)代的忠縣網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
多表查詢(xún):select a.* from tb_a a,tb_b b
where a.aid=b.bid
and ...;
子查詢(xún):select * from (select * from tb);
select a.* from tb_a a
where a.aid in(select b.bid from tb_b);
sql允許多次嵌套,子查詢(xún)即嵌套其他查詢(xún)中得查詢(xún)
可把子查詢(xún)返回結(jié)果理解成一張表,外層查詢(xún)會(huì)把子查詢(xún)返回的結(jié)果當(dāng)成一張表
子查詢(xún)要用括號(hào)括起來(lái)
將子查詢(xún)放在比較運(yùn)算符的右邊,增強(qiáng)可讀性
子查詢(xún)的分類(lèi):
單行子查詢(xún):子查詢(xún)返回一行記錄,可使用單行比較運(yùn)算符
多行子查詢(xún):子查詢(xún)返回多行記錄
--有哪些雇員薪水在平均薪水之上
--1、先求平均薪水
select avg(nvl(e.sal,0)) from emp e;
--2.把所有人的薪水和平均薪水作比較,使用的單行比較運(yùn)算符
select * from emp e where e.sal (select avg(nvl(e.sal,0)) from emp e);
-- 查詢(xún)雇員表哪些人是經(jīng)理人
-- 1.先查詢(xún)所有經(jīng)理人 distinct去重(多行子查詢(xún))
select distinct e.mgr from emp e;
--2.在雇員表中過(guò)濾是經(jīng)理的
select * from emp where empno in (select distinct e.mgr from emp e);
-- 每個(gè)部門(mén)的平均薪水等級(jí)
--1.求出每個(gè)部門(mén)的平均薪水等級(jí)
select e.deptno,avg(nvl(e.sal,0)) from emp e group by e.deptno;
--2.根據(jù)部門(mén)平均薪水?dāng)喑鲂剿燃?jí)
select g.deptno,sg.grade from salgrade sg join (select e.deptno,avg(nvl(e.sal,0)) avgsal from emp e group by e.deptno) g on g.avgsal between sg.losal and sg.hisal;
--1.求平均薪水最高的部門(mén)的部門(mén)編號(hào)
-- 求部門(mén)平均薪水
select e.deptno,avg(nvl(e.sal,0)) from emp e group by e.deptno;
-- 求最高的薪水
select max(t.vsal) from (select e.deptno,avg(nvl(e.sal,0)) vsal from emp e group by e.deptno) t;
-- 求部門(mén)編號(hào)(重復(fù)的sql可以抽取為視圖)
select t.deptno,t.vsal from (select e.deptno,avg(nvl(e.sal,0)) vsal from emp e group by e.deptno) t where t.vsal = (select max(t.vsal) from (select e.deptno,avg(nvl(e.sal,0)) vsal from emp e group by e.deptno) t);
)
--2.求部門(mén)的平均薪水的等級(jí)
--3.求部門(mén)平均的薪水等級(jí) (薪水等級(jí)的平均)
--求每個(gè)人的薪水等級(jí)
select e.deptno, sg.grade
from emp e
join salgrade sg
on e.sal between sg.losal and sg.hisal;
--求部門(mén)的平均薪水等級(jí)
select t.deptno, avg(t.grade)
from (select e.deptno, sg.grade
from emp e
join salgrade sg
on e.sal between sg.losal and sg.hisal) t
group by t.deptno;
--4.求薪水最高的前5名員工
-- 所有員工薪水降序
select * from emp e order by e.sal desc;
-- oracle中沒(méi)有l(wèi)imit子句,rownum只存在于查詢(xún)出來(lái)的虛擬表中
select * from (select * from emp e order by e.sal desc) t where rownum =5;
--5.求薪水最高的第6到10名
-- 默認(rèn)對(duì)于基表 rownum,跟插入順序有關(guān)
select rownum rn,t.* from emp t;
-- 對(duì)于子查詢(xún)r(jià)ownum跟內(nèi)層查詢(xún)的順序有關(guān)
--rn順序是根據(jù)內(nèi)層查詢(xún)記錄進(jìn)行分配的
select rownum rn,t.* from (select * from emp e order by e.sal desc) t;
-- 根據(jù)rn順序來(lái)過(guò)濾第6到10條
select * from (select rownum rn,t.* from (select * from emp e order by e.sal desc) t) t1 where t1.rn 5 and t1.rn =10;
SELECT B.DEPTNO,COUNT(B.ENAME) FROM EMP B,(Select DEPTNO,AVG(SAL) SAL_A FROM EMP GROUP BY DEPTNO) A WHERE B.SAL A.SAL_A AND A.DEPTNO = B.DEPTNO
試一下,看看是否好用。
一、
偽列就像Oracle中的一個(gè)表列,但實(shí)際上它并未存儲(chǔ)在表中。偽列可以從表中查詢(xún),但是不能插入、更新或刪除它們的值。常用的偽列:rowid和rownum。
Rowid:數(shù)據(jù)庫(kù)中的每一行都有一個(gè)行地址,Rowid偽列返回該行地址。可以使用Rowid值來(lái)定位表中的一行。通常情況下,Rowid值可以唯一地標(biāo)識(shí)數(shù)據(jù)庫(kù)中的一行。
Rowid偽列有以下重要用途:
1)能以最快的方式訪(fǎng)問(wèn)表中的一行;
2)能顯示表的行是如何存儲(chǔ)的。
3)可以作為表中行的唯一標(biāo)識(shí)。
如:SQL
select
rowid,ename
from
emp;
Rownum:對(duì)于一個(gè)查詢(xún)返回的每一行,Rownum偽列返回一個(gè)數(shù)值代表的次序。返回的第一行的Rownum值為1,第二行的Rownum值為2,依此類(lèi)推。通過(guò)使用Rownum偽列,用戶(hù)可以限制查詢(xún)返回的行數(shù)。
如:SQLselect
*
from
emp
where
rownum11;
從EMP表中提取10條記錄
二、
oracle中不支持select
top
n
from
tablename
查詢(xún),但是通過(guò)
order
by
和
rownum
組合可以實(shí)現(xiàn)此功能。例如:SELECT 列名1...列名n FROM
(SELECT 列名1...列名n FROM
表名
ORDER
BY
列名1...列名n)
WHERE
ROWNUM
=
N(抽出記錄數(shù))
ORDER
BY
ROWNUM
ASC
本文名稱(chēng):vb.net循環(huán)引用,vbs 循環(huán)語(yǔ)句
網(wǎng)站URL:http://chinadenli.net/article16/hsghgg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營(yíng)銷(xiāo)、域名注冊(cè)、小程序開(kāi)發(fā)、標(biāo)簽優(yōu)化、動(dòng)態(tài)網(wǎng)站、電子商務(wù)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
移動(dòng)網(wǎng)站建設(shè)知識(shí)