-
in 等于列表中的一個 any 和子查詢返回的的任意一個值比較 all 和子查詢返回的所有值比較查看全部
-
一般先執(zhí)行子查詢,再執(zhí)行主查詢;但相關(guān)子查詢例外 相關(guān)子查詢,外表必須起別名,傳遞給子查詢 select empno,ename,sal,(select avg(sal) from emp where deptno=e.deptno) avgsal from emp e where sal>(select avg(sal) from emp where deptno=e.deptno);查看全部
-
行號永遠(yuǎn)按照默認(rèn)的順序生成 行號只能使用<,<=;而不能使用>,>= 使用子查詢變通 select * from (select * from emp order by sal desc) where rownum<=3查看全部
-
select * from emp where deptno=(select deptno from dept where dname='SALES'); 使用多表查詢: select e.* from emp e,dept d where e.deptno=d.deptno and d.dname='SALES' ; 理論上應(yīng)該盡量使用多表查詢,因?yàn)樯厦娴淖硬樵冇袃蓚€from語句,所以要對數(shù)據(jù)庫訪問查詢兩次,而下面的多表查詢只訪問了一次!這是理論上的結(jié)論,并沒有考慮實(shí)際比如多表查詢中產(chǎn)生的笛卡爾積的大小,具體情況還是要具體對待。查看全部
-
不可以使用子查詢的位置:group by查看全部
-
where select having from 都可以使用子查詢查看全部
-
子查詢必須有小括號查看全部
-
自連接就是通過別名,將同一張表視為多張表查看全部
-
相同的部門號只顯示一次,不同的部門號隔2行 break on deptno skip 2查看全部
-
group by 語句的增強(qiáng) group by rollup(a.b)可以理解等價(jià)于: group by a,b + group by a + group by null查看全部
-
出現(xiàn)在select后面的字段,且沒有在分組函數(shù)中的,必須要在group by子句中聲明; where子句中不能使用組函數(shù); having用于過濾分組后的數(shù)據(jù),與where類似; 如果過濾條件中沒有分組函數(shù)時,where與having通用,那么從sql優(yōu)化的角度來講,where的效率更高,因?yàn)閔aving是先分組再過濾,而where是先過濾再分組。查看全部
-
--分組函數(shù)與空值 select sum(sal)/count(*),avg(sal) from emp; --注意:分組函數(shù)會自動忽略空值 --nvl函數(shù)使分組函數(shù)無法忽略空值 select count(*),count(nvl(comm,0)) from emp;查看全部
-
wm_concat(列名)行轉(zhuǎn)列 select deptno 部門號,wm_concat(ename) 部門中員工的姓名 from emp group by deptno; 按照部門號分組,將相同部門號的員工以逗號分隔的形式展示到一行中查看全部
-
--平均 總和 select avg(sal),sum(sal) from emp; --最小和最大 select min(sal),max(sal) from emp; --總個數(shù) select count(1) from emp; --求出部門數(shù) select count(distinct deptno) from emp;查看全部
-
常用分組函數(shù): avg:平均數(shù) sum:求和 min:最小值 max:最大值 count:組中包含數(shù)據(jù)的個數(shù) wm_concat:行轉(zhuǎn)列查看全部
舉報(bào)
0/150
提交
取消