-
報表1111查看全部
-
省略顯示,注意第一句查看全部
-
統(tǒng)計多種分組方式的查看全部
-
where后面不能有組函數(shù),所以用having查看全部
-
having,用于篩選查看全部
-
出現(xiàn)在select后的非分組函數(shù)(sum,avg等)必須出現(xiàn)group by后面查看全部
-
a not in(10,20,null)相當于a!=10 and a!=20 and a!=null,然而a!=null永遠為假, 所以要排除空值,判斷是否是null值,只能用is or is not而不能用= 或者!=。 select * from emp where empno not in (select mgr from emp where mgr is not null);查看全部
-
多行操作符:in 示例:查詢部門名稱是SALES和ACCOUNTING的員工信息 select * from emp where deptno in (select deptno from dept where dname='SALES' or dname='ACCOUNTING'); 或者 select e.* from emp e,dept d where e.deptno=d.deptno and (d.dname='SALES' or d.name='ACCOUNTING');查看全部
-
單行子查詢示例1 1、查詢員工信息,要求 職位與7566員工一樣、薪水大于7782員工的薪水 select * from em where job=(select job from emp where empno=7566) and sal>(select sal from emp where empno=7782); 注意: 1、單行子查詢只能使用單行操作符 2、在一個主查詢中可以有多個子查詢 示例2: 查詢工資最低的員工信息 select * from emp where sal=(select min(sal) from emp); 示例3: 查詢最低工資大于20號部門最低工資的部門號和部門的最低工資 select deptno ,min(sal) from emp group by deptno having min(sal)>(select min(sal) from emp where deptno=20);查看全部
-
一般先執(zhí)行子查詢,再執(zhí)行主查詢;但相關子查詢例外 相關子查詢,外表必須起別名(如例子中給emp起別名為e),傳遞給子查詢 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);查看全部
-
這期視頻的意思就是,rownum的排序是默認的,所以我們先不要打亂行號rownum的順序,所以只能分兩次查詢,括號里的查詢是第一次,他把薪水按照降序排列,因為沒有查詢行號,所以行號這個偽列不用考慮進去,那么第二次查詢才給括號里查到的數(shù)據(jù)(當成一個新的表)加上行號,就可以實現(xiàn)目的了 例子:查詢工資前三的員工號,員工姓名、工資 select rownum,empno,name,sal from (select * from em order by sal desc) where rownum<=3;查看全部
-
子查詢需要注意的問題 不要忘記子查詢語法中的小括號 形成良好的子查詢的書寫風格 可以使用子查詢的位置:Where,select,having,from 不可以使用子查詢的位置:group by 強調:from后面的子查詢 主查詢和子查詢可以不是一張表 一般不在自查詢中,使用排序;但是在Top-N分析問題中,必須對子查詢排序 一般先執(zhí)行子查詢,再執(zhí)行主查詢;但相關子查詢例外 單行子查詢只能使用單行操作符;多行子查詢只能多行操作符 注意:子查詢中是Null值的問題查看全部
-
子查詢示例: 誰的工資比SCOTT高? 先查SCOT的工資,然后在根據(jù)查到的按照條件查詢比SCOTT工資高的 select sal from emp where ename='SCOTT'; selct *from emp where sal>3000; 使用子查詢來解決問題: select * from emp where sal>(select sal from emp where ename='SCOTT')查看全部
-
子查詢的使用查看全部
-
不等值連接 示例:查詢員工信息,要求顯示:員工號,姓名,月薪,薪水的級別 select e.empno,e.ename,e.sal,s.grade from emp e,salgrade s wehere e.sal between s.losal and s.hisal; "between and"語句代替大于等于和小于等于 between and 小值在前,大的值在后。查看全部
舉報
0/150
提交
取消